Google API Explorer 会动态生成代码示例。这些代码示例旨在供您在本地复制和运行。如需查看示例,请点击 API Explorer 边栏中的“全屏”图标
。下图显示了展开后的全屏 API Explorer:
默认情况下,API Explorer 会显示如何使用 c网址 执行请求。某些 API 可能还会显示其他语言(例如 JavaScript、Java 和 Python)的示例。
在本地运行代码示例
以下标签页介绍了运行代码示例的前提条件和步骤。 如需运行代码示例,您必须生成并使用自己的授权凭据。如需了解如何创建项目和生成凭据,请参阅您所用特定 Google API 的文档。
凭据是以下任一凭据,具体取决于该方法要访问的数据类型(公开或私密):
- 对于公开数据,凭据是 API 密钥。
对于私密数据,凭据是包含您的 OAuth 2.0 客户端 ID 和客户端密钥的
client_secret.json
文件,或 OAuth 2.0 访问令牌。
cURL
设置
- 按照 API 文档中的说明为您的应用创建或选择项目,然后启用该 API。
- 在 Cloud 控制台中,创建一个 API 密钥。
- 在 Cloud 控制台中,为 Web 应用创建 OAuth 客户端 ID 凭据,并使用
https://developers.google.com/oauthplayground
作为重定向 URI。 - 在 OAuth 2.0 Playground 中,点击 OAuth 2.0 配置 。
- 选中使用您自己的凭据。
- 输入第 3 步生成的客户端 ID 和客户端密钥。
- 在“scopes”字段中,输入要与方法搭配使用的范围,然后点击 Authorize APIs。
- (可选)如果系统显示登录界面,请选择要使用的账号。
- (可选)如果系统显示授权界面,请点击接受。
- 点击 Exchange authorization code for tokens。系统会返回一个令牌。
- 在 c网址 代码示例中,将
[YOUR_API_KEY]
替换为第 2 步生成的 API 密钥:'https://www.googleapis.com/drive/v3/files?key=[YOUR_API_KEY]' \
- 在 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
设置
- 按照 API 文档中的说明为您的应用创建或选择项目,然后启用该 API。
- 在 Cloud 控制台中,创建一个 API 密钥。
- 在 Cloud 控制台中,为“网站应用”创建 OAuth 客户端 ID 凭据,并设置已获授权的 JavaScript 来源,以标识您将发送请求的网址,例如
http://localhost
。 - 将完整的代码示例复制到您的网络服务器可以访问的本地文件(例如
/var/www/html/example.html
)。 在代码示例中找到用于设置 API 密钥或客户端 ID 的行,并将相应值替换为在第 2 步和第 3 步中生成的值:
- API 密钥:
gapi.client.setApiKey(YOUR_API_KEY);
- OAuth 2.0 客户端 ID:
gapi.client.init({ 'clientId': 'YOUR_CLIENT_ID',
- API 密钥:
执行代码示例
- 在浏览器(例如
http://localhost/example.html
)中打开该文件。我们建议使用带有调试控制台的浏览器,例如 Google Chrome。 - (可选)如果系统显示登录界面,请选择要使用的账号。
- (可选)如果系统显示授权界面,请点击接受。调试控制台应将方法响应显示为 JSON 对象。
Java
前提条件
- Java 1.7 或更高版本。
- Gradle 7 或更高版本。
设置
- 按照 API 文档中的说明为您的应用创建或选择项目,然后启用该 API。
- 根据该方法要访问的数据类型,创建 API 密钥(公开数据)或创建 OAuth 2.0 客户端 ID(私密数据)。
- 将应用类型设置为桌面应用。
- 如果您创建了 OAuth 2.0 客户端 ID,请下载包含 OAuth 2.0 凭据的 JSON 文件。此文件的名称类似于
client_secret_CLIENTID.json
,其中CLIENTID
是项目的客户端 ID。 在您的工作目录中,运行以下命令以创建新的项目结构:
$ gradle init --type basic $ mkdir -p src/main/java src/main/resources
如果您在第 2 步中创建了 OAuth 2.0 客户端 ID,请将下载的 JSON 文件重命名为
client_secret.json
。将重命名的文件保存在您在第 5 步中创建的
src/main/resources
目录中。在工作目录中,打开
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 }
在
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_NAME
为drive
。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
设置
- 按照 API 文档中的说明为您的应用创建或选择项目,然后启用该 API。
- 根据该方法要访问的数据类型,创建 API 密钥(公开数据)或创建 OAuth 2.0 客户端 ID(私密数据)。
- 将应用类型设置为桌面应用。
- 如果您创建了 OAuth 2.0 客户端 ID,请下载包含 OAuth 2.0 凭据的 JSON 文件。此文件的名称类似于
client_secret_CLIENTID.json
,其中CLIENTID
是项目的客户端 ID。 - 将代码示例复制到本地文件,并修改该示例以正确识别您的 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-oauthlib
和google-auth-httplib2
库:pip install --upgrade google-auth-oauthlib google-auth-httplib2
设置
- 按照 API 文档中的说明为您的应用创建或选择项目,然后启用该 API。
- 根据该方法要访问的数据类型,创建 API 密钥(公开数据)或创建 OAuth 2.0 客户端 ID(私密数据)。
- 将应用类型设置为桌面应用。
- 如果您创建了 OAuth 2.0 客户端 ID,请下载包含 OAuth 2.0 凭据的 JSON 文件。此文件的名称类似于
client_secret_CLIENTID.json
,其中CLIENTID
是项目的客户端 ID。 - 将代码示例复制到本地文件,并修改该示例以正确识别您的 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`
设置
- 按照 API 文档中的说明为您的应用创建或选择项目,然后启用该 API。
- 根据该方法要访问的数据类型,创建 API 密钥(公开数据)或创建 OAuth 2.0 客户端 ID(私密数据)。
- 将应用类型设置为桌面应用。
- 如果您创建了 OAuth 2.0 客户端 ID,请下载包含 OAuth 2.0 凭据的 JSON 文件。此文件的名称类似于
client_secret_CLIENTID.json
,其中CLIENTID
是项目的客户端 ID。 - 将代码示例复制到本地文件,并修改该示例以正确识别您的 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
变量的代码。