我正在尝试使用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'
});
如果我只是将“视频”更改为“day”或“7DayTotals”,它会按预期工作,因为这些也是此处列出的示例尺寸:https://developers.google.com/youtube/analytics/v1/dimsmets/dims
(有趣的是,可能的暗示,'性别'维度也不起作用,并抛出与上述相同的错误')
我怀疑,通过查看StackOverflow上的类似问题,问题可能是必须声明maxResults,并且由于某种原因我的工作不起作用。即使我将维度设置为“day”并获得无错误报告,maxResults也不会限制为我指定的整数。相反,它将提供30个结果,因为我有30天的范围,并给它一个“日”维度。
非常感谢任何帮助,谢谢。
答案 0 :(得分:0)
我认为此badRequest error
正在发生,因为在dimensions
字段中,您不是放置有效的视频ID,而是放置文字'视频'字。查看documentation:
视频(核心维度)
YouTube视频的ID。在YouTube Data API中,这是视频资源的id属性的值。这是 核心方面,并遵守弃用政策。
答案 1 :(得分:0)
好。我认为他们不喜欢我使用视频作为维度是正确的,因为maxResults不起作用。
在AppsScript中格式化maxResults的正确方法是: 'max-results':'5'
所以完成的,有效的代码行是:
var analyticsResponse = YouTubeAnalytics.reportsQuery('channel==' + channelId,
oneMonthAgoFormatted,
todayFormatted,
'views',
{
dimensions: 'video',
'max-results': '5',
sort: '-views'
});