【问题标题】:GDrive token gets invalidated after some timeGDrive 令牌在一段时间后失效
【发布时间】:2017-04-15 16:01:24
【问题描述】:

当前工作流程

  • 我有一个网络应用程序(用 wordpress 开发)
  • 我正在使用 google-drive-sdk 将动态生成的 pdf 文件上传到 GMail 帐户。
  • GMail 帐户已在 Web 应用程序中配置,提供 密钥....

  • Web 应用程序首先进行身份验证 ===>即 GDrive 帐户首次由 GMail 所有者进行身份验证(在 Google 权限窗口中单击按钮 允许访问

  • 此后从 Web 应用程序调用时运行良好 - 动态生成的 pdf 文件进入配置的 GDrive

问题

PDF 文件仅在一段时间内上传到 GDrive。

一段时间后,它不会将文件上传到 GDrive。 然后我尝试创建一个新令牌 - 它再次开始上传文件但一段时间后停止。

这只发生在暂存服务器中。

在我的本地开发系统中,它一直工作正常 - 每当执行应用程序时将文件上传到 GDrive。

两者环境的区别是GMail账号不同。

如果您对问题的原因有任何想法或任何指示对我真的很有帮助。

【问题讨论】:

  • 您需要创建刷新令牌。访问令牌允许一次。
  • 所有访问令牌都会在 1 小时后过期。
  • 遵循驱动文档中的官方 oauth 指南。

标签: php wordpress oauth google-drive-api


【解决方案1】:

您的应用程序必须使用OAuth 2.0 来授权请求​​。对 Drive API 的所有请求都必须由经过身份验证的用户授权。

OAuth 2.0 的授权过程或“流程”的详细信息会有所不同,具体取决于您编写的应用程序类型。以下一般流程适用于所有应用程序类型:

  • 创建应用程序时,您可以使用 Google API 控制台对其进行注册。然后,Google 会提供您稍后需要的信息,例如客户端 ID 和客户端密码。
  • 在 Google API 控制台中激活 Drive API。 (如果 API 控制台中未列出 API,则跳过此步骤。)
  • 当您的应用程序需要访问用户数据时,它会要求 Google 提供特定的范围访问权限。
  • Google 向用户显示同意屏幕,要求他们授权您的应用程序请求他们的一些数据。
  • 如果用户批准,则 Google 会为您的应用程序提供一个短期访问令牌。
  • 您的应用程序请求用户数据,并将访问令牌附加到请求中。
  • 如果 Google 确定您的请求和令牌有效,则会返回请求的数据。

一些流程包括额外的步骤,例如使用刷新令牌来获取新的访问令牌。有关各种类型应用程序流的详细信息,请参阅Google's OAuth 2.0 documentation

【讨论】:

    猜你喜欢
    • 2019-01-07
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 2015-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多