管理 Google 工作表 API 刷新令牌
Managing Google Sheets API Refresh Token
我正在为我的网站使用 Google Sheets 来存储某些订单信息。我正在处理的问题是 access_token
会在大约 一个小时 内过期,而 refresh_token
会持续 几天 最多在它过期之前。
一旦我的 refresh_token
到期,我必须:
- 使用我的应用 URL
物理登录 Google
- 接受范围并复制授权码
- 发出代码授权请求以获得新的刷新令牌
以上过程是手动的,繁琐,一个月后难以忍受。
有没有更好的方法?
很遗憾,我无法理解你的实际情况和你的剧本,请问下面的模式如何?
模式 1:
在此模式中,使用服务帐户。使用服务帐户时,无需使用浏览器授权范围即可检索访问令牌。您可以使用访问令牌使用表格 API。
模式二:
在此模式中,使用了由 Google Apps 脚本创建的 Web 应用程序。使用由 Google Apps Script 创建的 Web 应用程序时,无需授权过程即可使用 Web 应用程序,因为部署 Web 应用程序时,授权过程已完成。而且,在这种情况下,可以使用电子表格服务。所以不需要使用 Sheets API。而且,我认为 Web 应用程序可以用作您正在使用的表格 API 的包装器 API。使用此模式时,您可以通过 HTTP 请求使用 Web 应用程序。
参考文献:
The problem I'm dealing with is that the access_token expires within about an hour and the refresh_token lasts me a couple of days at most before it expires.
如果您的应用程序仍在测试中,则刷新令牌仅持续 7 天。转到 Google 云控制台并将其设置为生产环境。然后您的刷新令牌将停止过期。
I am using Google Sheets for my website to store certain order information.
如果您只使用由开发者控制的 sheet。这意味着您无法访问您的用户在他们自己的 google 驱动器帐户上拥有的 sheet。那么您应该考虑使用服务帐户。 Should you be using a Google service account
我正在为我的网站使用 Google Sheets 来存储某些订单信息。我正在处理的问题是 access_token
会在大约 一个小时 内过期,而 refresh_token
会持续 几天 最多在它过期之前。
一旦我的 refresh_token
到期,我必须:
- 使用我的应用 URL 物理登录 Google
- 接受范围并复制授权码
- 发出代码授权请求以获得新的刷新令牌
以上过程是手动的,繁琐,一个月后难以忍受。
有没有更好的方法?
很遗憾,我无法理解你的实际情况和你的剧本,请问下面的模式如何?
模式 1:
在此模式中,使用服务帐户。使用服务帐户时,无需使用浏览器授权范围即可检索访问令牌。您可以使用访问令牌使用表格 API。
模式二:
在此模式中,使用了由 Google Apps 脚本创建的 Web 应用程序。使用由 Google Apps Script 创建的 Web 应用程序时,无需授权过程即可使用 Web 应用程序,因为部署 Web 应用程序时,授权过程已完成。而且,在这种情况下,可以使用电子表格服务。所以不需要使用 Sheets API。而且,我认为 Web 应用程序可以用作您正在使用的表格 API 的包装器 API。使用此模式时,您可以通过 HTTP 请求使用 Web 应用程序。
参考文献:
The problem I'm dealing with is that the access_token expires within about an hour and the refresh_token lasts me a couple of days at most before it expires.
如果您的应用程序仍在测试中,则刷新令牌仅持续 7 天。转到 Google 云控制台并将其设置为生产环境。然后您的刷新令牌将停止过期。
I am using Google Sheets for my website to store certain order information.
如果您只使用由开发者控制的 sheet。这意味着您无法访问您的用户在他们自己的 google 驱动器帐户上拥有的 sheet。那么您应该考虑使用服务帐户。 Should you be using a Google service account