【发布时间】:2020-02-26 08:40:37
【问题描述】:
我正在尝试将 YouTube 分析和报告 API 与 Google Apps 脚本一起使用,以使用来自我拥有和管理的 YouTube 品牌帐户的分析数据填充 Google 表格。
作为前言,我已经在我拥有的 YouTube 频道和我管理的频道上尝试过这个,但没有任何效果。在过去的几天里,我还查看了与此相关的所有 Stack Overflow 问题和回复,但没有任何效果。当我说我已经尝试了一切时,请相信我。我不相信代码或设置方式是问题所在;我认为这与 Google 或 YouTube API 本身有关。
以下是我采取的步骤:
在 Google Apps 脚本中启用 YouTube Analytics API 和 YouTube Data API。 (YouTube Reporting API 无处可寻,这可能是问题所在...)
在 Google Developer Console 中启用相同的 API(YouTube 报告 API 可用)
设置客户端 ID 和密码并将我的项目链接到 Apps 脚本
通过在 Google Developer Console 的 YouTube Analytics and Reporting API Explorer 中输入完全相同的参数(指标、维度等)来验证我的代码确实有效。当我这样做时,资源管理器确实会导出正确的信息。但是,在 Google Apps Script 中,它根本不起作用。
由于代码在资源管理器中有效,但在 Google Apps 脚本中无效,我认为我做错了一些简单的事情,或者是 Google 方面的错误。我希望有办法解决这个问题,因为我真的很想将我的 YouTube 频道中的数据导入 Google 表格。
Google Apps 脚本代码(为简单起见而缩短。“key”属性可能不是必需的,但没有它也无法工作)。
function myFunction() {
var metrics = [
'averageViewDuration'
];
var oneMonthInMillis = 1000 * 60 * 60 * 24 * 30;
var today = new Date();
var lastMonth = new Date(today.getTime() - oneMonthInMillis);
var report = YouTubeAnalytics.Reports.query({
ids: 'channel==MINE',
startDate: formatDateString(lastMonth),
endDate: formatDateString(today),
metrics: metrics.join(','),
dimensions: 'day',
sort: 'day',
includeHistoricalChannelData: false,
key: "AIzaSyAcVb-hriIydRs8iVqFZ6ZoyL8En3qLcnc",
});
Logger.log(report);
}
当我运行代码时,记录器的输出为零。我希望那里会有一些东西。
提醒一下,当我选择除我的核心帐户之外的任何帐户时,都会发生这种情况。当我选择附加到该帐户的核心帐户(没有 YouTube 频道)时,它会输出以下内容:
“[19-10-30 17:58:19:251 PDT] {columnHeaders=[{columnType=DIMENSION, dataType=STRING,name=day},{columnType=METRIC,dataType=INTEGER, 名称=averageViewDuration}],种类=youtubeAnalytics#resultTable, 行=[[2019-09-30, 0], [2019-10-01, 0], [2019-10-02, 0], [2019-10-03, 0], [2019-10-04, 0], [2019-10-05, 0], [2019-10-06, 0], [2019-10-07, 0], [2019-10-08, 0]...]]}"
没有理由认为它不应该工作。您认为是什么问题?
【问题讨论】:
标签: google-apps-script google-api youtube-api youtube-data-api youtube-analytics-api