【发布时间】:2015-03-23 03:50:50
【问题描述】:
我正在尝试在某人的谷歌日历中获取特定日期范围的事件。我正在执行以下操作:
credentials = AccessTokenCredentials.from_json(token_json)
http = httplib2.Http()
if credentials.access_token_expired:
credentials.refresh(http)
else:
http = credentials.authorize(http)
service = build(serviceName='calendar', version='v3', http=http)
events = service.events().list(calendarId='primary', pageToken=None,
timeMin=rfc3339(start_dt),
timeMax=rfc3339(end_dt))
events = events.execute()
由于某种原因,当我到达最后一行 events = events.execute() 时,出现以下错误:
AccessTokenCredentialsError: The access_token is expired or invalid and can't be refreshed.
当我使用断点时,它从不在我的 if 语句中说 access_token_expired。这怎么能总是失败那个用例呢?我在刷新令牌时做错了什么吗?
我阅读了以下内容:
https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-22#section-4.2.2
【问题讨论】:
-
你是怎么解决的?我正在使用相同的方法,但无法刷新令牌......我将不胜感激任何指导。我正在使用 AccessTokenCredentials 和已经获得的令牌(手动用户同意)我有两个令牌但我无法刷新令牌令牌!
-
我的问题是我没有为令牌正确存储数据。我将
credentials.to_json()保存到我的数据库中。 -
你解决了吗?如果“是”,那么如何?
标签: python google-calendar-api