如何解决YouTube 分析 API 刷新令牌限制
我创建了刷新令牌来使用 Python 验证我的 YouTube 分析 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)
解决方法
刷新令牌过期的原因:
- 如果刷新令牌在六个月内未使用,它将自动过期
- 如果用户撤销您在其帐户中的访问权限,则刷新令牌将过期。
- 每次用户授权您的应用程序时,您都会获得一个刷新令牌,有时当您刷新访问令牌时,一个新的刷新令牌将返回给您。在最旧的刷新令牌到期之前,您最多可以拥有 50 个未完成的刷新令牌。
我会仔细检查您是否存储了最新的刷新令牌,并设置您的代码以处理过期的刷新令牌并再次请求用户访问。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。