Fix yt list bug

pull/541/head
okjack 1 year ago
parent d093a26802
commit 0e08e97f45
  1. 26
      youtube/src/main/java/com/github/kiulian/downloader/parser/ParserImpl.java

@ -83,17 +83,17 @@ public class ParserImpl implements Parser {
private VideoInfo parseVideoAndroid(String videoId, YoutubeCallback<VideoInfo> callback) throws YoutubeException {
String url = "https://youtubei.googleapis.com/youtubei/v1/player?key=" + ANDROID_APIKEY;
String body = "{" +
" \"videoId\": \"" + videoId + "\"," +
" \"context\": {" +
" \"client\": {" +
" \"hl\": \"en\"," +
" \"gl\": \"US\"," +
" \"clientName\": \"ANDROID_TESTSUITE\"," +
" \"clientVersion\": \"1.9\"," +
" \"androidSdkVersion\": 31" +
" }" +
" }" +
"}";
" \"videoId\": \"" + videoId + "\"," +
" \"context\": {" +
" \"client\": {" +
" \"hl\": \"en\"," +
" \"gl\": \"US\"," +
" \"clientName\": \"ANDROID_TESTSUITE\"," +
" \"clientVersion\": \"1.9\"," +
" \"androidSdkVersion\": 31" +
" }" +
" }" +
"}";
RequestWebpage request = new RequestWebpage(url, "POST", body).header("Content-Type", "application/json");
Response<String> response = downloader.downloadWebpage(request);
if (!response.ok()) {
@ -424,11 +424,11 @@ public class ParserImpl implements Parser {
}
String html = response.data();
try {
JsonObject content;
JsonObject content = new JsonObject();
JsonObject jsonResponse = JsonParser.parseString(html).getAsJsonObject();
if (jsonResponse.has("continuationContents")) {
content = jsonResponse.getAsJsonObject("continuationContents").getAsJsonObject("playlistVideoListContinuation");
} else {
} else if (jsonResponse.has("onResponseReceivedActions")) {
content = jsonResponse.getAsJsonArray("onResponseReceivedActions").get(0).getAsJsonObject().getAsJsonObject("appendContinuationItemsAction");
}
populatePlaylist(content, videos, clientVersion);

Loading…
Cancel
Save