Google 用于获取 Fitbit 数据的 Apps 脚本中的服务器错误

Server error in Google Apps script for fetching Fitbit data

我有一个 Google spreadsheet 和一个脚本来获取工作正常的 Fitbit 数据,但我有任何其他的,在重要的部分是相同的给我这个尝试授权时出错: "We're sorry, a server error occurred. Please wait a bit and try again"

我已经使用记录器确定这发生在以下行:

var result = UrlFetchApp.fetch("https://api.fitbit.com/1/user/-/profile.json", options);

全部代码在这里:https://jsfiddle.net/j72qbe08/(这大部分是我从网上搜索到的代码复制过来的)

当我将其复制到新的传播sheet 并尝试授权时,仍在工作的其他现有传播sheet 的代码也有相同的错误。但是当我第一次遇到这个错误时,我并不是从一个新的传播sheet开始的,它是一个现有的sheet,最近运行良好。

它应该会打开一个对话框,上面写着 "Authorization required",然后是一个 window,让您可以登录 Fitbit。但它并没有这样做。

大概是 Google 脚本编辑器的问题,因为另一个传播sheet 仍然有效。

谢谢

编辑:根据 this page Google 已弃用对 OAuth1 的支持,并计划于 4 月 20 日关闭。现在才 4 月 15 日,但也许他们提前关闭了?不确定这是否解释了什么。 Fitbit API 仍然不兼容 OAuth2

编辑 2: "February 23, 2015: We will revoke a progressively larger number of access tokens on an ongoing basis, until most users are affected." 猜猜这可以解释它。

如果 fitbit api 只使用 Oauth1,您可以使用这个 Oauth1 库来建立连接。

https://github.com/googlesamples/apps-script-oauth1

readme.md 显示了如何设置它。