Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google calendar api 谷歌日历API-持续同步_Google Calendar Api - Fatal编程技术网

Google calendar api 谷歌日历API-持续同步

Google calendar api 谷歌日历API-持续同步,google-calendar-api,Google Calendar Api,我知道如何与谷歌日历API同步。我们正在尝试建立一个系统,在这个系统中,谷歌日历可以连续同步,而不需要征得同意屏幕。 我确实搜索了很多,但他们似乎发送了nextsynctoken来获取完整的活动列表。但是如果我想在两周后重新同步。我怎么做?不向用户询问授权窗口或同意屏幕 如果可能的话,请告诉我 先谢谢你 Saravana您对Google Calendar API发出的所有请求都必须由经过身份验证的用户授权 但是,既然您遇到了一个问题,在我看来就像令牌过期一样,为什么不尝试刷新您正在使用的访问令牌

我知道如何与谷歌日历API同步。我们正在尝试建立一个系统,在这个系统中,谷歌日历可以连续同步,而不需要征得同意屏幕。 我确实搜索了很多,但他们似乎发送了nextsynctoken来获取完整的活动列表。但是如果我想在两周后重新同步。我怎么做?不向用户询问授权窗口或同意屏幕

如果可能的话,请告诉我

先谢谢你
Saravana

您对Google Calendar API发出的所有请求都必须由经过身份验证的用户授权

但是,既然您遇到了一个问题,在我看来就像令牌过期一样,为什么不尝试刷新您正在使用的访问令牌呢

根据文件

访问令牌的生存期有限。如果您的应用程序需要在单个访问令牌的生命周期之外访问Google API,它可以获得刷新令牌。刷新令牌允许应用程序获取新的访问令牌

nextSyncToken
是服务器和客户端之间交换的一段数据,用于同步过程

您可以继续使用
nextSyncToken
,但您必须使用刷新令牌,以避免每次都使用同意屏幕

以下是来自的示例代码,用于使用Python交换刷新和访问令牌的授权代码:

state=flask.session['state']
flow=google\u auth\u oauthlib.flow.flow.from\u client\u secrets\u文件(
“client_secret.json”,
作用域=['https://www.googleapis.com/auth/youtube.force-ssl'],
状态=状态)
flow.redirect_uri=flask.url_for('oauth2callback',_external=True)
授权\响应=flask.request.url
flow.fetch\u令牌(授权\u响应=授权\u响应)
#在会话中存储凭据。
#开发商的行动项目:
#如果需要,请在数据存储中存储用户访问和刷新令牌
#将此代码合并到您的真实应用程序中。
凭据=flow.credentials
flask.session['credentials']={
“令牌”:credentials.token,
“刷新\u令牌”:凭据。刷新\u令牌,
'token_uri':credentials.token_uri,
“客户端id”:凭据。客户端id,
“客户端密码”:凭据。客户端密码,
“作用域”:凭据。作用域}
我建议您查看以下链接,因为它们可以提供有关您的问题的更多信息:

  • 对于用于刷新令牌的其他编程语言,您可以检查:


  • 除非您从用户处保存了刷新令牌,否则您将无法访问您需要的访问令牌,以便请求访问以获得更定制的响应,我建议您提供更多信息,例如:应用程序的状态、帐户的类型以及您使用的编程语言/技术。干杯