【问题标题】:How to define API Key in google apis explorer?如何在 google apis explorer 中定义 API Key?
【发布时间】:2020-08-05 17:20:52
【问题描述】:

我只是在以下位置测试 Google Sheets API:

https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/append

我正在使用Try this API 部分填写请求参数并执行请求(将一行附加到工作表)。

我在这里关注了Step 1

https://developers.google.com/sheets/api/quickstart/js

为了:

  • 启用 Google 表格 API
  • 创建 API 密钥

因此我有:

  • 客户 ID
  • 客户端密码
  • API 密钥

Try this API > Credentials 部分,有两个复选框:

  • 谷歌 OAuth 2.0
  • API 密钥

我尝试uncheck Google OAuth 2.0 选项,以便我可以使用 API Key 发出请求 - 但是我看不到在哪里可以输入 API Key

如何在 Try this API 部分定义 API 密钥,以便仅使用 API Key(而不是 Google OAuth 2.0 )发出请求。

【问题讨论】:

    标签: google-sheets-api google-apis-explorer


    【解决方案1】:

    这个答案怎么样?

    问题和解决方法:

    很遗憾,在现阶段,“Try this API”无法通过手动输入 API 密钥和访问令牌直接使用。但在这种情况下,有一种解决方法。请看下图。

    这是“试用此 API”的窗口。当你看到这个时,你可以看到如图所示的右上角的可点击方框。请点击它。至此,您可以看到展开后的“Try this API”,如下图所示。

    在这里,请输入您要使用的所需参数。这样就可以看到 curl 示例如下。

    curl --request POST \
      'https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEETID/values/RANGE:append?valueInputOption=USER_ENTERED&key=[YOUR_API_KEY]' \
      --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
      --header 'Accept: application/json' \
      --header 'Content-Type: application/json' \
      --data '{"values":[["sample value"]]}' \
      --compressed
    

    使用此命令,您可以通过手动输入 API 密钥和访问令牌来使用 API。

    但是,这里有一点很重要。在 Google API 中,API 密钥不能用于 GET 方法以外的方法。 API 密钥只能对公开共享的内容使用 GET 方法。请注意这一点。因此,当您想通过手动输入 API 密钥和访问令牌在 Sheets API 中使用“方法:电子表格.values.append”时,请使用访问令牌。因为这个方法使用的是POST方法。这样,您就可以测试 API。另外,您可以在官方文档中查看所需的范围。

    顺便说一句,当您只想使用 API 密钥时,您不需要使用--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]'。而且,当您只想使用访问令牌时,您不需要使用&key=[YOUR_API_KEY]

    在展开的“Try this API”中,您还可以看到 HTTP 请求和 Javascript 的示例脚本。

    注意:

    • 当您想使用 API 密钥请求 Sheets API 时,请公开共享电子表格。这样,可以使用“方法:电子表格.values.get”、“方法:电子表格.get”等GET方法来检索值。
    • 想要查看获取access token的方法,可以看herehere等官方文档。

    参考:

    【讨论】:

      【解决方案2】:

      我认为这个问题的正确答案是:如果 API 需要任何类型的 API 密钥,则无法使用 API Explorer 实际向 Google API 发送请求。 Explorer 似乎用于创建请求,然后您可以在代码中复制和使用这些请求。似乎没有任何方法可以将 API 密钥(或其他任何内容)直接添加到 Explorer 界面。

      这一切都引出了一个问题:如果您无法执行任何操作(可能不需要任何类型的访问凭据的 API 请求除外),为什么资源管理器有一个“执行”按钮。

      这很奇怪。我很想被证明是错的,但我不这么认为。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-11
        • 1970-01-01
        • 2013-05-03
        • 2016-11-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多