【问题标题】:YouTube Analytics API Refresh Token LimitYouTube Analytics API 刷新令牌限制
【发布时间】:2021-06-13 20:20:38
【问题描述】:

我创建了 Refresh 令牌以使用 Python 验证我的 YouTube Analytics API 并将其保存在我的系统上以供将来使用。但一周后,我发现即使刷新令牌也已过期,我必须再次使用 OAuth 同意屏幕对应用程序进行身份验证。是否有绕过此刷新令牌到期限制的方法,以便我无需任何进一步的身份验证即可调用 API?

if os.path.exists(self.token):
        print('Loading Credentials From File...')
        with open(self.token, 'rb') as token:
            self.credentials = pickle.load(token)


    if not self.credentials or not self.credentials.valid:

        if self.credentials and self.credentials.expired and self.credentials.refresh_token:
            
            print('Refreshing Access Token...')
            self.credentials.refresh(Request())
            
        else:
            
            print('Fetching New Tokens...')
            flow = InstalledAppFlow.from_client_secrets_file(self.secret_file, self.scopes)
            self.credentials = flow.run_console()

            print(self.credentials.to_json())

            # Save the credentials for the next run
            with open(self.token, 'wb') as f:
                
                print('Saving Credentials for Future Use...')
                pickle.dump(self.credentials, f)

Error List

【问题讨论】:

    标签: python google-api google-oauth google-api-python-client youtube-analytics-api


    【解决方案1】:

    刷新令牌过期的原因:

    1. 如果刷新令牌在六个月内未使用,它将自动过期
    2. 如果用户在其帐户中撤消您的访问权限,则刷新令牌将过期。
    3. 每次用户授权您的应用程序时,您都会获得一个刷新令牌,有时当您刷新访问令牌时,会向您返回一个新的刷新令牌。在最旧的刷新令牌过期之前,您最多可以拥有 50 个未完成的刷新令牌。

    我会仔细检查您是否存储了最新的刷新令牌,并设置您的代码来处理过期的刷新令牌并再次请求用户访问。

    【讨论】:

      猜你喜欢
      • 2014-08-12
      • 2014-11-25
      • 1970-01-01
      • 2012-04-10
      • 2017-08-11
      • 2015-09-08
      • 1970-01-01
      • 2016-07-02
      • 1970-01-01
      相关资源
      最近更新 更多