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 配置图标 。
- 选中 Use your own credentials(使用您自己的凭据)。
- 输入在第 3 步中生成的客户端 ID 和客户端密钥。
- 在范围字段中,输入要与方法搭配使用的范围,然后点击 Authorize APIs。
- (可选)如果系统显示登录界面,请选择要使用的账号。
- (可选)如果系统显示授权界面,请点击接受。
- 点击将授权代码转换为令牌。系统会返回一个令牌。
- 在 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 控制台中,为“Web 应用”创建 OAuth 客户端 ID 凭据,并设置已获授权的 JavaScript 来源以标识您将从中发送请求的网址,例如
http://localhost。 - 将完整的代码示例复制到您的 Web 服务器可访问的本地文件(例如
/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 版本。REVISION是 JavaDoc 参考文档中列出的 API 修订版本号。JavaDoc 参考文档可在https://googleapis.dev/java/google-api-services-API_NAME/latest/index.html中找到CL_VERSION是客户端库版本。此值也会显示在 JavaDoc 参考中。- 从工作目录中,将 APIs 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 密钥或 Secret 文件。在示例中,API 密钥值为
YOUR_API_KEY,客户端密钥文件位置为YOUR_CLIENT_SECRET_FILE.json。
执行代码示例
使用以下命令运行示例:
node sample.js
大多数示例都会将 API 响应(或其他内容)输出到 STDOUT。
PHP
前提条件
- PHP 5.4 或更高版本,并具有命令行界面 (CLI) 和 JSON 扩展程序。
- 已全局安装的 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 密钥或 Secret 文件。在示例中,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 密钥或 Secret 文件。在示例中,API 密钥值为
YOUR_API_KEY,客户端密钥文件位置为YOUR_CLIENT_SECRET_FILE.json。
执行代码示例
使用以下命令运行示例:
ruby sample.rb
大多数示例都会将 API 响应(或其他内容)输出到 STDOUT。
排查示例问题
授权对话框未显示
APIs Explorer 会使用弹出式窗口授予对您私有数据的访问权限。如果您的浏览器会拦截弹出式窗口,则此弹出式窗口不会显示,您将无法授予访问权限。
如果您在授权界面中点击“允许”后没有任何反应,请尝试更改浏览器的弹出式窗口设置以启用弹出式窗口。
收到 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 变量的代码在客户端库加载完毕后才会被调用。