我正在尝试使用Google Appsscript来按照上个月的收入来对我的所有YouTube视频进行排序。但是,当我将"尺寸"设置为视频时,我会遇到错误:
Error:{
"error":{
"errors":[
{
"domain":"global",
"reason":"badRequest",
"message":"The query is not supported. Check the documentation at https://developers.google.com/youtube/analytics/v1/available_reports for a list of supported queries."
}
],
"code":400,
"message":"The query is not supported. Check the documentation at https://developers.google.com/youtube/analytics/v1/available_reports for a list of supported queries."
}
}(line 53,
file "Code",
project "YoutubeAnalytics")
这是我的代码:
var analyticsResponse = YouTubeAnalytics.reportsQuery('channel==' + channelId,
oneMonthAgoFormatted,
todayFormatted,
'views',
{
dimensions:
'video',
maxResults:
5,
sort:
'-views'
});
如果我只是简单地将"视频"更改为"天"或" 7dayTotals",则可以按预期工作,因为这些也是示例尺寸:昏暗
(有趣的是,并且可能的提示,"性别"维度也不起作用,并且抛出与上述相同的错误')
我怀疑,从stackoverflow上查看类似的问题,问题可能是必须宣布MaxResults,并且由于某种原因,我的问题不起作用。即使我将尺寸设置为" Day"并获得无错误的报告,MaxResults也永远不会限于我分配的整数。相反,它将给出30个结果,因为我有30天的范围并给它一个"一天"维度。
任何帮助将不胜感激,谢谢。
我认为这种badRequest error
正在发生,因为在dimensions
字段中,您没有放置有效的视频,而是放置了字面的"视频"字。检查文档:
视频(核心维度)
YouTube视频的ID。在YouTube数据API中,这是视频资源ID属性的值。这是核心维度并受到弃用政策的约束。
好吧。我认为他们不喜欢我使用视频作为维度,因为MaxResults不起作用。
AppsScript内部格式化最大值的正确方法是: 'Max-results':'5'
因此,已完成的,工作,代码行是:
var analyticsResponse = YouTubeAnalytics.reportsQuery('channel==' + channelId,
oneMonthAgoFormatted,
todayFormatted,
'views',
{
dimensions: 'video',
'max-results': '5',
sort: '-views'
});