PHP 快速入门

本快速入门指南介绍如何设置向 YouTube Data API 发出请求的简单 PHP 命令行应用。本快速入门实际上介绍了如何发出两个 API 请求:

  1. 您将使用用于标识您的应用的 API 密钥来检索有关 GoogleDevelopers YouTube 频道的信息。
  2. 您将使用 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 控制台中为您的项目完成以下任务:

  1. 库面板中,搜索 YouTube Data API v3。点击进入该 API 的列表,确保已为您的项目启用该 API。

  2. “凭据”面板中,创建两个凭据:

    1. 创建 API 密钥 您将使用 API 密钥发出不需要用户授权的 API 请求。例如,您无需用户授权即可检索公开 YouTube 频道的相关信息。

    2. 创建 OAuth 2.0 客户端 ID 将应用类型设为其他。对于需要用户授权的请求,您需要使用 OAuth 2.0 凭据。例如,您需要获得用户授权才能检索当前经过身份验证的用户的 YouTube 频道的相关信息。

      下载包含 OAuth 2.0 凭据的 JSON 文件。该文件的名称类似于 client_secret_CLIENTID.json,其中 CLIENTID 是项目的客户端 ID。

第 2 步:设置并运行示例

使用侧边栏中的 API Explorer 微件获取示例代码,以检索有关 GoogleDevelopers YouTube 频道的信息。此请求使用 API 密钥来标识您的应用,不需要用户授权或运行示例的用户获得任何特殊权限。

  1. 打开 API 的 channels.list 方法文档。
  2. 在该页的“常见用例”部分中,有一个表格介绍了该方法的几种常见用法。表格中的第一个商品详情是按频道 ID 列出的结果。

    点击第一个列表的代码符号,即可打开并填充全屏 API Explorer。

    用于标识渠道代码列表文档中表格内代码符号链接的位置的图片。该图片的替代文本会将图片标识为代码符号,并指定与该链接关联的用例。

  3. 全屏 API Explorer 的左侧显示以下内容:

    1. Request parameters 标头下方,列出了该方法支持的参数。应设置 partid 参数值。id 参数值 UC_x5XG1OV2P6uZZ5FSM9Ttw 是 GoogleDevelopers YouTube 频道的 ID。

    2. 参数下方有一个名为凭据的部分。该部分中的下拉菜单应该会显示值 API key。默认情况下,API Explorer 使用演示凭据,以便更轻松地上手使用。但您将使用自己的 API 密钥在本地运行示例。

      此图片显示了全屏 API Explorer 中的“凭据”和已选择“API 密钥”选项的下拉菜单。

  4. 全屏 API Explorer 的右侧显示了包含不同语言的代码示例的标签页。选择 PHP 标签页。

  5. 复制代码示例并将其保存到名为 example.php 的文件中。

  6. 在下载的示例中,找到 YOUR_API_KEY 字符串并将其替换为您在本快速入门第 1 步中创建的 API 密钥。

  7. 从命令行运行示例。在工作目录中,运行以下命令:

    php example.php

  8. 该示例应执行该请求,并将响应输出到 STDOUT

第 3 步:运行授权请求

在此步骤中,您将修改代码示例,使其检索有关您的 YouTube 频道的信息,而不是检索 GoogleDevelopers YouTube 频道。此请求需要获得用户授权。

  1. 返回到 API 的 channels.list 方法的文档。

  2. 在“常见用例”部分中,点击表中第三个列表的代码符号。该用例是针对“my channel”调用 list 方法。

  3. 同样,在全屏 API Explorer 的左侧,您会看到参数列表和凭据部分。不过,在检索有关 GoogleDevelopers 渠道的信息的示例中,有两项更改:

    1. 在参数部分,应将 mine 参数值设为 true,而不是设置 id 参数值。此命令指示 API 服务器检索当前已通过身份验证的用户的通道的相关信息。

    2. 凭据部分,下拉菜单中应选择 Google OAuth 2.0 选项。

      此外,如果您点击 Show scope 链接,则应勾选 https://www.googleapis.com/auth/youtube.readonly 范围。

      显示全屏 API Explorer 中的范围和已选择“Google OAuth 2.0”凭据使用选项的图片。

  4. 与上一个示例一样,选择 PHP 标签页,复制代码示例并将其保存到 example.php

    在代码中,找到 YOUR_CLIENT_SECRET_FILE.json 字符串并将其替换为您在本快速入门的第 1 步中下载的客户端密钥文件的位置。

  5. 从命令行运行示例。在工作目录中,运行以下命令:

    php example.php

  6. 从控制台中复制网址并在浏览器中打开。

    如果您尚未登录 Google 帐号,系统会提示您登录。如果您登录了多个 Google 帐号,系统会要求您选择一个帐号用于授权。

  7. 点击按钮以授予应用对代码示例中指定的范围的访问权限。

  8. 从浏览器中复制授权代码并将其粘贴到终端中。然后,您可以关闭用于身份验证流程的浏览器标签页。

    API 响应应会再次输出到 STDOUT

补充阅读材料