[youtube] Fix authentication when using multiple accounts

`SESSION_INDEX` in `ytcfg` is the index of the active account and should be sent as `X-Goog-AuthUser` header

Closes #518
Authored by @colethedj
pull/526/head
coletdjnz 2021-07-17 18:20:05 +12:00 zatwierdzone przez GitHub
rodzic ccc7795ca3
commit 34917076ad
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
1 zmienionych plików z 3 dodań i 1 usunięć

Wyświetl plik

@ -533,7 +533,9 @@ class YoutubeBaseInfoExtractor(InfoExtractor):
headers['X-Youtube-Identity-Token'] = identity_token
if account_syncid:
headers['X-Goog-PageId'] = account_syncid
headers['X-Goog-AuthUser'] = 0
session_index = try_get(ytcfg, lambda x: x['SESSION_INDEX'], compat_str)
if account_syncid or session_index:
headers['X-Goog-AuthUser'] = session_index or 0
if visitor_data:
headers['X-Goog-Visitor-Id'] = visitor_data
auth = self._generate_sapisidhash_header(origin)