1

我们有一个要求,我们希望将我们的服务与 Google Photos 集成,从而使用户可以从我们网站内的 Google Photos 中选择图像。到目前为止,我的理解是,为了使图像在我们端可供用户选择,他必须通过 OAuth UI 明确批准这一点(如果我错了,请纠正我)。

在他批准后,我们​​将获得刷新令牌,该令牌可以生成访问令牌供我们使用。

我的问题如下:

用户是否有可能只进行一次 OAuth UI 批准操作,之后我们可以使用该令牌而无需打扰用户再次批准?

这些代币的生存时间是多少?是否可以获得不会过期的令牌?因为查看 Facebook API,短期令牌会在 2 小时后过期,而长期令牌会在 2 个月后过期。

基本上我们的用例如下:

我们让用户将 Google 照片连接到我们的网站,他可以将这些照片用于多个用例。为了让我们渲染完整的照片,我们需要通过 id 引用该图像并调用 Google Photos API 来下载图像并在我们的网站上渲染它。我在想的另一个选择是 -baseUrl当用户进行 OAuth 手动批准时存储我们最初需要的图像,因此之后不需要批准,因为我们的服务只是后端并且进行服务到服务的通信。

非常感谢提前和最好的问候

4

1 回答 1

1

您是正确的,您需要使用 Oauth2 来请求访问用户数据。这将为您提供一个刷新令牌。

大多数情况下,刷新令牌不会过期。只要用户不直接通过他们的 Google 帐户删除您的访问权限,并且只要您每六个月至少使用一次刷新令牌,您就可以使用了。但是,您的代码应该能够处理无效的刷新令牌,然后在他们下次出现时询问用户。

于 2021-03-04T13:31:08.607 回答