本快速入门指南介绍如何设置向 YouTube Data API 发出请求的简单 PHP 命令行应用。本快速入门实际上介绍了如何发出两个 API 请求:
- 您将使用用于标识您的应用的 API 密钥来检索有关 GoogleDevelopers YouTube 频道的信息。
- 您将使用 OAuth 2.0 客户端 ID 提交授权请求,以检索关于您自己的 YouTube 频道的信息。
前提条件
如需运行本快速入门,您需要:
- 安装有命令行界面 (CLI) 和 JSON 扩展程序的 PHP 5.4 或更高版本。
- 全局安装的 Composer 依赖项管理工具 {: target="_blank"}
- 适用于 PHP 的 Google API 客户端库:
- 如果您之前未安装过客户端库,请执行以下操作:
composer require google/apiclient:^2.0
- 如果您之前安装了客户端库,我们建议您对其进行更新,以确保您测试的库包含最新的类:
composer update google/apiclient --with-dependencies
- 如果您之前未安装过客户端库,请执行以下操作:
第 1 步:设置项目和凭据
在 API 控制台中创建或选择项目。在 API 控制台中为您的项目完成以下任务:
在库面板中,搜索 YouTube Data API v3。点击进入该 API 的列表,确保已为您的项目启用该 API。
在“凭据”面板中,创建两个凭据:
创建 API 密钥 您将使用 API 密钥发出不需要用户授权的 API 请求。例如,您无需用户授权即可检索公开 YouTube 频道的相关信息。
创建 OAuth 2.0 客户端 ID 将应用类型设为其他。对于需要用户授权的请求,您需要使用 OAuth 2.0 凭据。例如,您需要获得用户授权才能检索当前经过身份验证的用户的 YouTube 频道的相关信息。
下载包含 OAuth 2.0 凭据的 JSON 文件。该文件的名称类似于
client_secret_CLIENTID.json
,其中CLIENTID
是项目的客户端 ID。
第 2 步:设置并运行示例
使用侧边栏中的 API Explorer 微件获取示例代码,以检索有关 GoogleDevelopers YouTube 频道的信息。此请求使用 API 密钥来标识您的应用,不需要用户授权或运行示例的用户获得任何特殊权限。
- 打开 API 的 channels.list 方法文档。
在该页的“常见用例”部分中,有一个表格介绍了该方法的几种常见用法。表格中的第一个商品详情是按频道 ID 列出的结果。
点击第一个列表的代码符号,即可打开并填充全屏 API Explorer。
全屏 API Explorer 的左侧显示以下内容:
在 Request parameters 标头下方,列出了该方法支持的参数。应设置
part
和id
参数值。id
参数值UC_x5XG1OV2P6uZZ5FSM9Ttw
是 GoogleDevelopers YouTube 频道的 ID。参数下方有一个名为凭据的部分。该部分中的下拉菜单应该会显示值 API key。默认情况下,API Explorer 使用演示凭据,以便更轻松地上手使用。但您将使用自己的 API 密钥在本地运行示例。
全屏 API Explorer 的右侧显示了包含不同语言的代码示例的标签页。选择 PHP 标签页。
复制代码示例并将其保存到名为
example.php
的文件中。在下载的示例中,找到
YOUR_API_KEY
字符串并将其替换为您在本快速入门第 1 步中创建的 API 密钥。从命令行运行示例。在工作目录中,运行以下命令:
php example.php
该示例应执行该请求,并将响应输出到
STDOUT
。
第 3 步:运行授权请求
在此步骤中,您将修改代码示例,使其检索有关您的 YouTube 频道的信息,而不是检索 GoogleDevelopers YouTube 频道。此请求需要获得用户授权。
返回到 API 的 channels.list 方法的文档。
在“常见用例”部分中,点击表中第三个列表的代码符号。该用例是针对“my channel”调用
list
方法。同样,在全屏 API Explorer 的左侧,您会看到参数列表和凭据部分。不过,在检索有关 GoogleDevelopers 渠道的信息的示例中,有两项更改:
在参数部分,应将
mine
参数值设为true
,而不是设置id
参数值。此命令指示 API 服务器检索当前已通过身份验证的用户的通道的相关信息。在凭据部分,下拉菜单中应选择 Google OAuth 2.0 选项。
此外,如果您点击 Show scope 链接,则应勾选 https://www.googleapis.com/auth/youtube.readonly 范围。
与上一个示例一样,选择 PHP 标签页,复制代码示例并将其保存到
example.php
。在代码中,找到
YOUR_CLIENT_SECRET_FILE.json
字符串并将其替换为您在本快速入门的第 1 步中下载的客户端密钥文件的位置。从命令行运行示例。在工作目录中,运行以下命令:
php example.php
-
从控制台中复制网址并在浏览器中打开。
如果您尚未登录 Google 帐号,系统会提示您登录。如果您登录了多个 Google 帐号,系统会要求您选择一个帐号用于授权。
点击按钮以授予应用对代码示例中指定的范围的访问权限。
-
从浏览器中复制授权代码并将其粘贴到终端中。然后,您可以关闭用于身份验证流程的浏览器标签页。
API 响应应会再次输出到
STDOUT
。
补充阅读材料
- Google Developers Console 帮助文档
- 适用于 PHP 的 Google API 客户端库
- GitHub 上的 PHP 版 Google API 客户端库以及 YouTube API 的自动生成的类。(在该页面上,找到
YouTube
文件夹和YouTube.php
文件。 - YouTube Data API 参考文档