通过邮递员向 Google Apps 脚本 API 发出请求

Making a request to the Google Apps Script API through postman

我正在尝试通过邮递员请求使用应用程序脚本 api 远程执行 google 应用程序脚本功能。

我首先从 Google API Playground

获取凭据

然后将它们作为 OAuth2 凭据输入邮递员,并在 headers 中输入,如下所示:

然后请求适当的 link:

然后body准备:

然后是请求后的响应:

Postman 返回错误 403,根据 Google's documentation

表示 "the Cloud Platform project used to authorize the request is not the same as the one used by the script." 错误 403 是授权错误,可能意味着很多事情,但我们假设该错误如 google 所声明的那样。

我可以完全控制我的脚本使用的 GCP 项目,但我不知道在哪里可以找到用于授权请求的项目。

我在哪里可以访问这个 GCP 项目,以便我可以将我的脚本分配给这个项目,从而消除 403 错误?

谢谢!

要将来自 OAuth Playground 的 OAuth 访问令牌与 Apps 脚本一起使用,您需要从同一项目指定正确的客户端 ID 和客户端密码。

在 OAuth 游乐场中。单击齿轮图标(右上角)。 Select "Use your own OAuth credentials"。然后输入与 Apps Script 在同一项目中创建的 Client ID 和 Secret ID。

要通过 Postman 使用有效的访问令牌查询 Google URL,您可以从应用程序脚本中记录访问令牌并在之后使用它。

验证范围后,在您的应用程序脚本中,即 运行 第一次脚本,记录令牌:

function logToken(){
  Logger.log(ScriptApp.getOAuthToken());
}

然后在 Postman 中通过在 header 中设置访问令牌来查询 Google URL:

"Authorization": "Bearer THE_ACCESS_TOKEN"

安全警告:出于安全原因,我必须告诉您访问令牌的有效期为 1 小时,因此从技术上讲,如果您使用此访问令牌向您的应用授予完整的驱动器范围,我们可以浏览您所有的云端硬盘。