Skip to content

Commit

Permalink
For android client send sdk version to youtube
Browse files Browse the repository at this point in the history
  • Loading branch information
unixfox committed Aug 7, 2022
1 parent b0be223 commit 218f7be
Showing 1 changed file with 20 additions and 9 deletions.
29 changes: 20 additions & 9 deletions src/invidious/yt_backend/youtube_api.cr
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ module YoutubeAPI
private DEFAULT_API_KEY = "AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8"

private ANDROID_APP_VERSION = "17.29.35"
private ANDROID_SDK_VERSION = 30_i64
private IOS_APP_VERSION = "17.30.1"

# Enumerate used to select one of the clients supported by the API
Expand Down Expand Up @@ -58,20 +59,22 @@ module YoutubeAPI
# Android

ClientType::Android => {
name: "ANDROID",
version: ANDROID_APP_VERSION,
api_key: "AIzaSyA8eiZmM1FaDVjRy-df2KTyQ_vz_yYM39w",
name: "ANDROID",
version: ANDROID_APP_VERSION,
api_key: "AIzaSyA8eiZmM1FaDVjRy-df2KTyQ_vz_yYM39w",
android_sdk_version: ANDROID_SDK_VERSION,
},
ClientType::AndroidEmbeddedPlayer => {
name: "ANDROID_EMBEDDED_PLAYER", # 55
version: ANDROID_APP_VERSION,
api_key: DEFAULT_API_KEY,
},
ClientType::AndroidScreenEmbed => {
name: "ANDROID", # 3
version: ANDROID_APP_VERSION,
api_key: DEFAULT_API_KEY,
screen: "EMBED",
name: "ANDROID", # 3
version: ANDROID_APP_VERSION,
api_key: DEFAULT_API_KEY,
screen: "EMBED",
android_sdk_version: ANDROID_SDK_VERSION,
},

# IOS
Expand Down Expand Up @@ -172,6 +175,10 @@ module YoutubeAPI
HARDCODED_CLIENTS[@client_type][:screen]? || ""
end

def android_sdk_version : Int64?
HARDCODED_CLIENTS[@client_type][:android_sdk_version]?
end

# Convert to string, for logging purposes
def to_s
return {
Expand Down Expand Up @@ -201,7 +208,7 @@ module YoutubeAPI
"gl" => client_config.region || "US", # Can't be empty!
"clientName" => client_config.name,
"clientVersion" => client_config.version,
},
} of String => String | Int64,
}

# Add some more context if it exists in the client definitions
Expand All @@ -212,7 +219,11 @@ module YoutubeAPI
if client_config.screen == "EMBED"
client_context["thirdParty"] = {
"embedUrl" => "https://www.youtube.com/embed/dQw4w9WgXcQ",
}
} of String => String | Int64
end

if android_sdk_version = client_config.android_sdk_version
client_context["client"]["androidSdkVersion"] = android_sdk_version
end

return client_context
Expand Down

0 comments on commit 218f7be

Please sign in to comment.