使用带有 python 的 youtube api 发布 youtube 评论,每次询问“授权此应用程序”

Posted

技术标签:

【中文标题】使用带有 python 的 youtube api 发布 youtube 评论,每次询问“授权此应用程序”【英文标题】:Post a youtube comment using youtube api with python ask everytime to "authorize this application" 【发布时间】:2021-12-06 08:01:08 【问题描述】:

我使用在 YouTube 开发帮助网站上找到的这段代码示例对视频发表评论

# -*- coding: utf-8 -*-

# Sample Python code for youtube.commentThreads.insert
# See instructions for running these code samples locally:
# https://developers.google.com/explorer-help/guides/code_samples#python

import os

import google_auth_oauthlib.flow
import googleapiclient.discovery
import googleapiclient.errors

scopes = ["https://www.googleapis.com/auth/youtube.force-ssl"]

def main():
    # Disable OAuthlib's HTTPS verification when running locally.
    # *DO NOT* leave this option enabled in production.
    # os.environ["OAUTHLIB_INSECURE_TRANSPORT"] = "1"

    api_service_name = "youtube"
    api_version = "v3"
    client_secrets_file = "post.json"

    # Get credentials and create an API client
    flow = google_auth_oauthlib.flow.InstalledAppFlow.from_client_secrets_file(
        client_secrets_file, scopes)
    credentials = flow.run_console()
    youtube = googleapiclient.discovery.build(
        api_service_name, api_version, credentials=credentials)

    request = youtube.commentThreads().insert(
        part="snippet",
        body=
          "snippet": 
            "videoId": "VIDEO_ID",
            "topLevelComment": 
              "snippet": 
                "textOriginal": "This is the start of a comment thread."
              
            
          
        
    )
    response = request.execute()

    print(response)

if __name__ == "__main__":
    main()

评论有效,但每次它要求我再次授权应用程序我不知道为什么,你能帮我吗? 我得到的信息是:

“请访问此 URL 以授权此应用程序:URL_LINK

输入授权码:"

【问题讨论】:

【参考方案1】:

这是因为您没有在代码中使用刷新令牌。此刷新令牌允许您在不重新登录的情况下获取访问令牌。

下面的链接应该可以帮助您使用它。

Google API: getting Credentials from refresh token with oauth2client.client

【讨论】:

以上是关于使用带有 python 的 youtube api 发布 youtube 评论,每次询问“授权此应用程序”的主要内容,如果未能解决你的问题,请参考以下文章

使用 YouTube API 播放带有开始和结束时间的 YouTube 视频

带有类别的 Youtube api

使用 YouTube API 从带有 JSON 提要的视频中获取所有评论

带有 API v3 的 Youtube 视频标题没有 API 密钥?

Android 上带有 OAuth2.0 的 Youtube 数据 API

带有 AJAX 和自动播放/排队的 Youtube iframe API