执行代码示例

Google API Explorer 会动态生成代码示例。这些代码示例旨在供您在本地复制和运行。如需查看示例,请点击 API Explorer 边栏中的“全屏”图标 。下图显示了展开后的全屏 API Explorer:

适用于 Google Books API 的 API Explorer 全屏面板
图 2:Google Books API 的 API Explorer 全屏面板。

默认情况下,API Explorer 会显示如何使用 c网址 执行请求。某些 API 可能还会显示其他语言(例如 JavaScript、Java 和 Python)的示例。

在本地运行代码示例

以下标签页介绍了运行代码示例的前提条件和步骤。 如需运行代码示例,您必须生成并使用自己的授权凭据。如需了解如何创建项目和生成凭据,请参阅您所用特定 Google API 的文档。

凭据是以下任一凭据,具体取决于该方法要访问的数据类型(公开或私密):

  • 对于公开数据,凭据是 API 密钥。
  • 对于私密数据,凭据是包含您的 OAuth 2.0 客户端 ID 和客户端密钥的 client_secret.json 文件,或 OAuth 2.0 访问令牌。

cURL

设置

  1. 按照 API 文档中的说明为您的应用创建或选择项目,然后启用该 API。
  2. 在 Cloud 控制台中,创建一个 API 密钥。
  3. 在 Cloud 控制台中,为 Web 应用创建 OAuth 客户端 ID 凭据,并使用 https://developers.google.com/oauthplayground 作为重定向 URI。
  4. 在 OAuth 2.0 Playground 中,点击 OAuth 2.0 配置
  5. 选中使用您自己的凭据
  6. 输入第 3 步生成的客户端 ID 和客户端密钥。
  7. 在“scopes”字段中,输入要与方法搭配使用的范围,然后点击 Authorize APIs
  8. (可选)如果系统显示登录界面,请选择要使用的账号。
  9. (可选)如果系统显示授权界面,请点击接受
  10. 点击 Exchange authorization code for tokens。系统会返回一个令牌。
  11. 在 c网址 代码示例中,将 [YOUR_API_KEY] 替换为第 2 步生成的 API 密钥:'https://www.googleapis.com/drive/v3/files?key=[YOUR_API_KEY]' \
  12. 在 c网址 代码示例中,将 [YOUR_ACCESS_TOKEN] 替换为第 10 步中生成的访问令牌:--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \

执行代码示例

在命令行中,执行 c网址 命令。该命令应类似如下所示:

curl \
'https://www.googleapis.com/drive/v3/files?key=AIzaSyBiKcaoXmVApwnT24hitQG_dwjGvAj6Ddw' \
--header 'Authorization: Bearer ya29.a0ARrdaM_yQn9MWBpJgKPx880BSnRYIizRYIDz0JN9e66nSliIYpqNXmPsvv2ccfplCTG_U4b1' \
--header 'Accept: application/json' \
--compressed

JavaScript

设置

  1. 按照 API 文档中的说明为您的应用创建或选择项目,然后启用该 API。
  2. 在 Cloud 控制台中,创建一个 API 密钥。
  3. 在 Cloud 控制台中,为“网站应用”创建 OAuth 客户端 ID 凭据,并设置已获授权的 JavaScript 来源,以标识您将发送请求的网址,例如 http://localhost
  4. 将完整的代码示例复制到您的网络服务器可以访问的本地文件(例如 /var/www/html/example.html)。
  5. 在代码示例中找到用于设置 API 密钥或客户端 ID 的行,并将相应值替换为在第 2 步和第 3 步中生成的值:

    • API 密钥:gapi.client.setApiKey(YOUR_API_KEY);
    • OAuth 2.0 客户端 ID:gapi.client.init({ 'clientId': 'YOUR_CLIENT_ID',

执行代码示例

  1. 在浏览器(例如 http://localhost/example.html)中打开该文件。我们建议使用带有调试控制台的浏览器,例如 Google Chrome。
  2. (可选)如果系统显示登录界面,请选择要使用的账号。
  3. (可选)如果系统显示授权界面,请点击接受。调试控制台应将方法响应显示为 JSON 对象。

Java

前提条件

  • Java 1.7 或更高版本。
  • Gradle 7 或更高版本。

设置

  1. 按照 API 文档中的说明为您的应用创建或选择项目,然后启用该 API。
  2. 根据该方法要访问的数据类型,创建 API 密钥(公开数据)或创建 OAuth 2.0 客户端 ID(私密数据)。
  3. 将应用类型设置为桌面应用
  4. 如果您创建了 OAuth 2.0 客户端 ID,请下载包含 OAuth 2.0 凭据的 JSON 文件。此文件的名称类似于 client_secret_CLIENTID.json,其中 CLIENTID 是项目的客户端 ID。
  5. 在您的工作目录中,运行以下命令以创建新的项目结构:

    $ gradle init --type basic
    $ mkdir -p src/main/java src/main/resources
    
  6. 如果您在第 2 步中创建了 OAuth 2.0 客户端 ID,请将下载的 JSON 文件重命名为 client_secret.json

  7. 将重命名的文件保存在您在第 5 步中创建的 src/main/resources 目录中。

  8. 在工作目录中,打开 build.gradle 文件,并将其内容替换为以下内容:

    apply plugin: 'java'
    apply plugin: 'application'
    
    mainClassName = 'ApiExample'
    sourceCompatibility = 1.7
    targetCompatibility = 1.7
    version = '1.0'
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        compile 'com.google.api-client:google-api-client:1.23.0'
        compile 'com.google.oauth-client:google-oauth-client-jetty:1.23.0'
        API_SPECIFIC_DEPENDENCY
    }
    
  9. build.gradle 文件中,将显示 API_SPECIFIC_DEPENDENCY 的行替换为用于为您要调用的 API 编译代码的指令。以下是 YouTube Analytics API 的示例:

    compile 'com.google.apis:google-api-services-youtubeAnalytics:v2-rev16-1.23.0'
    

    该说明遵循以下模板:

    compile 'com.google.apis:google-api-services-API_NAME:API_VERSION-   revREVISION-CL_VERSION'
    

其中:

  • API_NAME 是 GitHub 上列出的 API 名称。如需查找该名称,请在受支持的 Google API 页面上点击相应 API 旁边的版本链接。版本链接会打开 GitHub。API 名称位于页面中上部,前面带有 googleapis/google-apis-services-。例如,对于云端硬盘 API 的 v3,API_NAMEdrive
  • API_VERSION 是“支持的 Google API”页面上 API 名称下方为该 API 列出的 API 版本。
  • REVISION 是 API 的 JavaDoc 参考文档中列出的修订版本号。JavaDoc 参考文档位于 https://googleapis.dev/java/google-api-services-API_NAME/latest/index.html
  • CL_VERSION 是客户端库版本。此值也显示在 JavaDoc 参考文档中。
  • 在您的工作目录中,将 API Explorer 中的代码示例复制到 src/main/java/ApiExample.java。(每个示例中的类名称均为 ApiExample,因此您无需修改 build.gradle 文件即可运行不同的示例。

执行代码示例

使用以下命令运行该示例:

  gradle -q run

该示例应执行您的 API 请求,并将响应输出到 STDOUT。您还可以检查您正在调用的服务,了解写入数据的请求的影响。

Node.js

前提条件

  • Node.js
  • Node.js 版 Google API 客户端库:

    • 如果您之前未安装客户端库,请运行以下命令:
    npm install googleapis --save
    
    • 如果您之前安装了客户端库,我们建议您更新该库,以确保您拥有要测试的库的最新类。如需更新客户端库,请运行以下命令:
    npm update googleapis --save
    

设置

  1. 按照 API 文档中的说明为您的应用创建或选择项目,然后启用该 API。
  2. 根据该方法要访问的数据类型,创建 API 密钥(公开数据)或创建 OAuth 2.0 客户端 ID(私密数据)。
  3. 将应用类型设置为桌面应用
  4. 如果您创建了 OAuth 2.0 客户端 ID,请下载包含 OAuth 2.0 凭据的 JSON 文件。此文件的名称类似于 client_secret_CLIENTID.json,其中 CLIENTID 是项目的客户端 ID。
  5. 将代码示例复制到本地文件,并修改该示例以正确识别您的 API 密钥或客户端密钥文件。在示例中,API 密钥值为 YOUR_API_KEY,客户端密钥文件位置为 YOUR_CLIENT_SECRET_FILE.json

执行代码示例

使用以下命令运行该示例:

  node sample.js

大多数示例都会将 API 响应(或其他内容)输出到 STDOUT

PHP

前提条件

  • 具有命令行界面 (CLI) 和 JSON 扩展的 PHP 5.4 或更高版本。
  • 已全局安装 Composer 依赖项管理工具
  • PHP 版 Google API 客户端库:

    • 如果您之前未安装客户端库,请运行以下命令:

      composer require google/apiclient:^2.0
      
    • 如果您之前安装了客户端库,我们建议您更新该库,以确保您拥有要测试的库的最新类。如需更新客户端库,请运行以下命令:

      composer update google/apiclient --with-dependencies
      

执行代码示例

使用以下命令运行该示例:

  php sample.php

大多数示例都会将 API 响应(或其他内容)输出到 STDOUT

Python

前提条件

  • Python 2.7 或 Python 3.5 及更高版本
  • pip 软件包管理工具
  • Python 版 Google API 客户端库:

    pip install --upgrade google-api-python-client
    
  • 用于用户授权的 google-auth-oauthlibgoogle-auth-httplib2 库:

    pip install --upgrade google-auth-oauthlib google-auth-httplib2
    

设置

  1. 按照 API 文档中的说明为您的应用创建或选择项目,然后启用该 API。
  2. 根据该方法要访问的数据类型,创建 API 密钥(公开数据)或创建 OAuth 2.0 客户端 ID(私密数据)。
  3. 将应用类型设置为桌面应用
  4. 如果您创建了 OAuth 2.0 客户端 ID,请下载包含 OAuth 2.0 凭据的 JSON 文件。此文件的名称类似于 client_secret_CLIENTID.json,其中 CLIENTID 是项目的客户端 ID。
  5. 将代码示例复制到本地文件,并修改该示例以正确识别您的 API 密钥或客户端密钥文件。在示例中,API 密钥值为 YOUR_API_KEY,客户端密钥文件位置为 YOUR_CLIENT_SECRET_FILE.json

执行代码示例

使用以下命令运行该示例:

  python sample.py

大多数示例都会将 API 响应(或其他内容)输出到 STDOUT

Ruby

前提条件

  • Ruby 2.0 或更高版本
  • Ruby 版 Google API 客户端库:

    gem install google-api-client`
    

设置

  1. 按照 API 文档中的说明为您的应用创建或选择项目,然后启用该 API。
  2. 根据该方法要访问的数据类型,创建 API 密钥(公开数据)或创建 OAuth 2.0 客户端 ID(私密数据)。
  3. 将应用类型设置为桌面应用
  4. 如果您创建了 OAuth 2.0 客户端 ID,请下载包含 OAuth 2.0 凭据的 JSON 文件。此文件的名称类似于 client_secret_CLIENTID.json,其中 CLIENTID 是项目的客户端 ID。
  5. 将代码示例复制到本地文件,并修改该示例以正确识别您的 API 密钥或客户端密钥文件。在示例中,API 密钥值为 YOUR_API_KEY,客户端密钥文件位置为 YOUR_CLIENT_SECRET_FILE.json

执行代码示例

使用以下命令运行该示例:

  ruby sample.rb

大多数示例都会将 API 响应(或其他内容)输出到 STDOUT

排查示例问题

授权对话框未显示

API 浏览器会使用弹出式窗口授予对您的私密数据的访问权限。如果您的浏览器屏蔽弹出式窗口,系统将不会显示此弹出式窗口,您也无法授予访问权限。

如果您在授权界面中点击“允许”后没有任何反应,请尝试更改浏览器的弹出式窗口设置以启用弹出式窗口。

收到 401 或 403 错误

如果您在测试示例时收到 401 或 403 错误,则可能是因为以下某项存在问题:

  • 您的项目未启用此 API。查看您的 API 的相关说明,了解如何创建项目和启用 API。
  • 您使用的授权类型错误(API 密钥而非 OAuth 2.0)。
  • 您使用的是 OAuth 2.0,但范围过窄。
  • 设置 API 密钥时,您可以设置限制,以防止他人未经授权使用您的凭据。不过,该要求不符合这些限制。如需了解详情,请参阅使用 API 密钥限制

收到了关于混合内容的警告

如果您使用 Google Cloud Endpoints,并且在开发服务器中运行端点,您的浏览器可能会发出有关混合内容的警告。出现此警告是因为 API Explorer 是通过 HTTPS 加载的,但当您的 API 在本地运行时,它是托管在 HTTP 上。

如需使用 Chrome 隐藏此警告,请使用特殊标志启动 Chrome 会话,如下所示:

path/to/chrome --user-data-dir=test --unsafely-treat-insecure-origin-as-secure=http://localhost:port

例如:

/usr/bin/google-chrome-stable --user-data-dir=test --unsafely-treat-insecure-origin-as-secure=http://localhost:8080

您应仅出于本地测试目的隐藏此警告。

仅限 JavaScript:未定义 gapi

如果 JavaScript 代码在 Google API 客户端库 JavaScript 加载之前尝试调用该库,则会发生“gapi is not defined”错误。确保在客户端库加载完毕后,才调用引用 gapi 变量的代码。