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

YouTube API - Video as a Dimension is not working, because maxResults does not work

我正在尝试使用 Google AppsScript 将我所有的 YouTube 视频按上个月赚取的收入排序 sheet。但是,当我将 'dimensions' 设置为视频时,我一直收到错误消息:

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

如果我只是将 'video' 更改为 'day' 或“7DayTotals”,它会按预期工作,因为这些也是此处列出的示例维度:https://developers.google.com/youtube/analytics/v1/dimsmets/dims

(有趣的是,也是一个可能的提示,'gender' 维度也不起作用,并抛出与上述相同的错误')

我怀疑,通过查看 Whosebug 上的类似问题,问题可能是必须声明 maxResults,而由于某种原因我的方法不起作用。即使我将维度设置为 'day' 并获得无错误报告,maxResults 也从不限于我分配给它的整数。它会给出 30 个结果,因为我有一个 30 天的范围并且我给它一个 'day' 维度。

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

我认为这 badRequest error 之所以发生,是因为在 dimensions 字段中,您没有放置有效的视频 ID,而是放置了 'video' 文字。检查 documentation:

video (core dimension)

The ID of a YouTube video. In the YouTube Data API, this is the value of a video resource's id property. This is a core dimension and is subject to the Deprecation Policy.

好的。我假设他们不喜欢我使用视频作为维度是正确的,因为 maxResults 不起作用。

在 AppsScript 中格式化 maxResults 的正确方法是: 'max-results': '5'

所以完整的、有效的代码行是:

    var analyticsResponse = YouTubeAnalytics.reportsQuery('channel==' + channelId,
    oneMonthAgoFormatted,
    todayFormatted,
    'views', 

{
    dimensions: 'video',
    'max-results': '5',
    sort: '-views'
});