Skip to content

Commit 2c94179

Browse files
committed
[YouTube] Add utcOffsetMinutes to all InnerTube payloads
This should make returned dates consistent between timezones and countries on which the extractor is ran. It was previously only set on YouTube Music search continuations.
1 parent d97c9e0 commit 2c94179

2 files changed

Lines changed: 8 additions & 1 deletion

File tree

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeParsingHelper.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -552,6 +552,7 @@ public static boolean areHardcodedClientVersionAndKeyValid()
552552
.value("clientName", "WEB")
553553
.value("clientVersion", HARDCODED_CLIENT_VERSION)
554554
.value("platform", "DESKTOP")
555+
.value("utcOffsetMinutes", 0)
555556
.end()
556557
.object("request")
557558
.array("internalExperimentFlags")
@@ -791,6 +792,7 @@ public static boolean isHardcodedYoutubeMusicKeyValid() throws IOException,
791792
.value("hl", "en-GB")
792793
.value("gl", "GB")
793794
.value("platform", "DESKTOP")
795+
.value("utcOffsetMinutes", 0)
794796
.end()
795797
.object("request")
796798
.array("internalExperimentFlags")
@@ -1302,7 +1304,8 @@ public static JsonBuilder<JsonObject> prepareDesktopJsonBuilder(
13021304
.value("clientName", "WEB")
13031305
.value("clientVersion", getClientVersion())
13041306
.value("originalUrl", "https://www.youtube.com")
1305-
.value("platform", "DESKTOP");
1307+
.value("platform", "DESKTOP")
1308+
.value("utcOffsetMinutes", 0);
13061309

13071310
if (visitorData != null) {
13081311
builder.value("visitorData", visitorData);
@@ -1350,6 +1353,7 @@ public static JsonBuilder<JsonObject> prepareAndroidMobileJsonBuilder(
13501353
.value("androidSdkVersion", 34)
13511354
.value("hl", localization.getLocalizationCode())
13521355
.value("gl", contentCountry.getCountryCode())
1356+
.value("utcOffsetMinutes", 0)
13531357
.end()
13541358
.object("request")
13551359
.array("internalExperimentFlags")
@@ -1390,6 +1394,7 @@ public static JsonBuilder<JsonObject> prepareIosMobileJsonBuilder(
13901394
.value("osVersion", "17.1.2.21B101")
13911395
.value("hl", localization.getLocalizationCode())
13921396
.value("gl", contentCountry.getCountryCode())
1397+
.value("utcOffsetMinutes", 0)
13931398
.end()
13941399
.object("request")
13951400
.array("internalExperimentFlags")
@@ -1420,6 +1425,7 @@ public static JsonBuilder<JsonObject> prepareTvHtml5EmbedJsonBuilder(
14201425
.value("platform", "TV")
14211426
.value("hl", localization.getLocalizationCode())
14221427
.value("gl", contentCountry.getCountryCode())
1428+
.value("utcOffsetMinutes", 0)
14231429
.end()
14241430
.object("thirdParty")
14251431
.value("embedUrl", "https://www.youtube.com/watch?v=" + videoId)

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeMusicSearchExtractor.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ public void onFetchPage(@Nonnull final Downloader downloader)
9090
.value("hl", "en-GB")
9191
.value("gl", getExtractorContentCountry().getCountryCode())
9292
.value("platform", "DESKTOP")
93+
.value("utcOffsetMinutes", 0)
9394
.end()
9495
.object("request")
9596
.array("internalExperimentFlags")

0 commit comments

Comments
 (0)