1

我已经在我的网站(在 php 中)使用 Oauth 2 授权方法实现了 google drive api,其中不同的用户必须输入他们自己的客户端 ID 和客户端密码才能访问他/她的谷歌驱动器中的文件。

但为了使其更加用户友好,我计划在此网址https://developers.google.com/drive/about-auth中实施 Google+ 登录方法。

任何人都可以向我提供有关如何使用 google + 登录来获取 google drive api 请求的刷新令牌的教程吗?

4

1 回答 1

2

这些是步骤...

  1. 使用您的应用程序/客户端 ID 和您需要的范围调用身份验证 URL。包括“电子邮件”范围。

  2. Google 将引导用户完成登录和(如果是第一次通过)授权对话

  3. 最终浏览器会重定向回你的 oauthcallback url,并给你一个授权码
  4. 调用 google 将验证码转换为刷新令牌。这还将返回用户的 google ID 和访问令牌。
  5. 将用户 ID 存储在会话中,以便随后识别用户
  6. 将刷新令牌与 google 用户 ID 一起保存在数据库中

在随后的访问中...

  1. 如果您的会话中有 google 用户 ID,则可以从数据库中检索刷新令牌,并在需要时使用它来生成访问令牌。
  2. 如果您的会话中没有 google 用户 ID,请执行上述步骤。这一次,谷歌不会提示用户授权(因为它已经被授权),并且刷新令牌将是空白的(因为你已经存储了一个)。

您需要知道的一切都在 oauth 游乐场页面中。如果您单击这些按钮,您将看到它正在按照我上面概述的步骤进行操作。

然后您需要处理可能的错误情况,例如

  • 用户拒绝权限
  • 用户撤回权限
  • 谷歌过期的刷新令牌(发生了很多)所以你需要重新认证
  • 超时
于 2013-09-03T08:17:20.640 回答