Как подписаться на YouTube API? - PullRequest
0 голосов
/ 03 мая 2018

https://developers.google.com/youtube/v3/code_samples/apps-script#subscribe_to_channel

Здравствуйте,

Не могу понять, как подписаться на канал YouTube с помощью пост-запроса. Я не собираюсь использовать YoutubeSubscription, как показано выше. Я просто смотрю, чтобы передать ключ API, но не могу понять это. Есть предложения?

1 Ответ

0 голосов
/ 18 сентября 2018

Если вы не хотите использовать подписки Youtube, вы должны получить session_token после входа в учетную запись YouTube.

session_token хранится в скрытом теге ввода: document.querySelector('input[name=session_token]').value

или поле полнотекстового поиска XSRF_TOKEN, соответствующее значение - session_token, ссылка обычная: const regex = /\'XSRF_TOKEN\':(.*?)\"(.*?)\"/g

Ниже приведена реализация на Python:

def YouTubeSubscribe(url,SessionManager):
while(1):
    try:
        html = SessionManager.get(url).content
        session_token = (re.findall("XSRF_TOKEN\W*(.*)=", html , re.IGNORECASE)[0]).split('"')[0]
        id_yt = url.replace("https://www.youtube.com/channel/","")
        params = (('name', 'subscribeEndpoint'),)
        data = [
          ('sej', '{"clickTrackingParams":"","commandMetadata":{"webCommandMetadata":{"url":"/service_ajax","sendPost":true}},"subscribeEndpoint":{"channelIds":["'+id_yt+'"],"params":"EgIIAg%3D%3D"}}'),
          ('session_token', session_token+"=="),
        ]
        response = SessionManager.post('https://www.youtube.com/service_ajax', params=params, data=data)
        check_state = json.loads(response.content)['code']
        if check_state == "SUCCESS":
            return 1
        else:
            return 0
    except Exception as e:
        print "[E] YouTubeSubscribe:"+ str(e)
        pass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...