get static method
Implementation
static Future<PlaylistPage> get(
YoutubeHttpClient httpClient,
String id,
) async {
final url = 'https://www.youtube.com/playlist?list=$id&hl=en&persist_hl=1';
return retry(httpClient, () async {
final raw = await httpClient.getString(url);
final page = PlaylistPage.parse(raw, id);
if (page.initialData.exists) {
return page;
}
// Try to fetch using the browse API
final data = await httpClient.sendPost('browse', {
'browseId': page.initialData.browseId!,
}, headers: {
'x-youtube-client-name': '1',
'x-goog-visitor-id': page.initialData.visitorData ?? '',
});
return PlaylistPage.id(
id, _InitialData(data), page.initialData.visitorData);
});
}