vin*_*pan 3 google-calendar-api google-api oauth-2.0 google-oauth
我想在我的网站中永久使用 oauth2 令牌。
使用谷歌 API,当用户授予管理其谷歌日历的权限时,我将从谷歌 API 获取访问令牌。我想将它保存在数据库中并长期使用它。
但它正在变得无效。我尝试使用 oauth2 刷新令牌 API 刷新令牌。但出现如下错误。
数组([error] => invalid_grant [error_description] => 令牌已过期或撤销。)
我不希望用户每次进入网站时都授予权限。
我还希望管理员需要使用此令牌或任何其他方式(如果有)访问用户的日历。
我怎样才能实现这个目标?
我使用刷新令牌选项,而不是尝试获取永久令牌。
当我使用标签调用谷歌日历时,我添加了“access_type=offline”等参数,如下所示
$login_url = ' https://accounts.google.com/o/oauth2/auth?scope= ' 。urlencode(' https://www.googleapis.com/auth/calendar ') 。'&redirect_uri=' 。CLIENT_REDIRECT_URL 。'&response_type=code&client_id=' 。CLIENT_ID。'&access_type=离线';
用户允许后,我将获得 access_token 和刷新令牌作为响应。我将它们保存在数据库中。然后每次,当管理员访问用户的日历时,都会通过refresh_token api 调用使用存储在数据库中的refresh_token 获取新的access_token,直到用户在我的站点中使用取消同步选项。
一旦用户取消同步日历,我将更新数据库。问题解决了。
| 归档时间: |
|
| 查看次数: |
4083 次 |
| 最近记录: |