【问题标题】:google calendar sync token expire谷歌日历同步令牌过期
【发布时间】:2015-02-24 16:02:54
【问题描述】:

嗨,我正在尝试将谷歌日历与我的本地日历同步

我目前的设置是这样的

我通过谷歌登录并获取我的主要日历事件并在本地存储,我还保存谷歌在最后一页提供的同步令牌。

所以我创建了一个频道来观看日历,每次日历发生更改时它都会向我发送通知,但我想要的是如果我再次发送请求时获取更改的数据它只是说令牌已过期我该如何工作围绕这个。

我正在使用 ruby​​ on rails 和 google api gem

谢谢

【问题讨论】:

  • 您在使用同步令牌时是否收到 410 错误?如果“是”,则客户端应清除其存储并执行完全同步,无需任何同步令牌。这是链接developers.google.com/google-apps/calendar/v3/sync
  • 通知仅告诉您发生了变化。要检索更改的数据,您需要使用您在最后一个 events.list() 请求中获得的同步令牌。

标签: ruby-on-rails google-calendar-api google-api-ruby-client


【解决方案1】:

访问令牌过期。您需要在首次授予授权后保存刷新令牌,以便在向 API 发出请求时请求新的访问令牌。我在这里写了一篇详细的博文:http://www.geekytidbits.com/google-calendar-api-from-ruby/

例如:

#First time authorization
auth_client.code = "authorization code goes here"
auth_client.fetch_access_token!
#Save auth_client.refresh_token now!

#Subsequent requests
auth_client.refresh_token = #grab refresh token from where you saved it
auth_client.fetch_access_token!
#You should now have a fresh access token

【讨论】:

    猜你喜欢
    • 2013-09-13
    • 2017-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 2011-01-31
    • 1970-01-01
    相关资源
    最近更新 更多