YouTube API - 视频维度无效,因为maxResults不起作用

时间:2017-10-05 05:37:43

标签: google-apps-script youtube-api google-apps youtube-analytics-api youtube-analytics

我正在尝试使用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天的范围,并给它一个“日”维度。

非常感谢任何帮助,谢谢。

2 个答案:

答案 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'
});