完成本页其余部分中所述的步骤,只需几 分钟,您就可以获得一个简单的 Google Apps 脚本 ,用于向 YouTube Data API 发出请求。
此示例应用演示了如何将 YouTube 频道数据添加到电子表格。
前提条件
如需运行此快速入门,您需要满足以下条件:
- 能够访问互联网和网络浏览器。
- Google 账号
- 能够访问 Google 云端硬盘。
第 1 步:创建脚本
- 在网络浏览器中打开 Google 云端硬盘。
- 依次点击新建 > Google 表格 。
- 在新的电子表格中,依次点击扩展程序 > Apps 脚本。
- 将脚本编辑器中的内容替换为以下代码:
// Note: Apps Script automatically requests authorization // based on the API's used in the code. function channelsListByUsername(part, params) { var response = YouTube.Channels.list(part, params); var channel = response.items[0]; var dataRow = [channel.id, channel.snippet.title, channel.statistics.viewCount]; SpreadsheetApp.getActiveSpreadsheet().appendRow(dataRow); } function getChannel() { var ui = SpreadsheetApp.getUi(); var channelName = ui.prompt("Enter the channel name: ").getResponseText(); channelsListByUsername('snippet,contentDetails,statistics', {'forUsername': channelName}); } function getGoogleDevelopersChannel() { channelsListByUsername('snippet,contentDetails,statistics', {'forUsername': 'GoogleDevelopers'}); } function onOpen() { var firstCell = SpreadsheetApp.getActiveSheet().getRange(1, 1).getValue(); if (firstCell != 'ID') { var headerRow = ["ID", "Title", "View count"]; SpreadsheetApp.getActiveSpreadsheet().appendRow(headerRow); } var ui = SpreadsheetApp.getUi(); ui.createMenu('YouTube Data') .addItem('Add channel data', 'getChannel') .addSeparator() .addItem('Add GoogleDevelopers data', 'getGoogleDevelopersChannel') .addToUi(); }
- 点击“保存”图标
。
- 点击左上角的未命名项目 ,输入Quickstart,然后点击重命名。
第 2 步:开启 YouTube Data API
- 点击左侧的编辑器 。
- 在左侧的“服务”旁边,点击“添加服务”图标 。
- 点击 YouTube Data API ,然后点击添加 。
第 3 步:运行示例
- 重新加载电子表格。如果您是首次在添加代码后加载 电子表格,则第一行应填充 ID、标题和观看次数标题。
在菜单栏中,依次点击 YouTube 数据 > 添加 GoogleDevelopers 数据 ,将 GoogleDevelopers 频道的相关信息添加到电子表格。 (YouTube 数据菜单应显示在标准菜单(文件、修改、查看等)旁边)
首次运行示例时,系统会提示您授权访问:- 点击查看权限 。
- 选择账号。
- 点击允许 。
在菜单栏中,依次点击 YouTube 数据 > 添加频道数据 ,添加您选择的频道的数据。系统提示时,输入频道名称(例如“GoogleDevelopers”或“SaturdayNightLive”),然后点击确定 。脚本会检索该频道的数据并将其添加到电子表格中。
深入阅读
问题排查
ReferenceError:“[API NAME]”未定义
如果在 Apps 脚本代码编辑器中未开启 API,则会发生此错误。请重新访问第 2 步 b,并确保相应开关设置为开启 。