【问题标题】:YouTube API - Video as a Dimension is not working, because maxResults does not workYouTube API - 视频作为维度不起作用,因为 maxResults 不起作用
【发布时间】:2017-10-05 05:37:43
【问题描述】:

我正在尝试使用 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'
});

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

(有趣的是,可能的提示是,“性别”维度也不起作用,并引发与上述相同的错误“)

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

任何帮助将不胜感激,谢谢。

【问题讨论】:

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


【解决方案1】:

我认为badRequest error 正在发生,因为在dimensions 字段中,您没有放置有效的videoID,而是放置了文字“video”字样。检查documentation

视频(核心维度)

YouTube 视频的 ID。在 YouTube 数据 API 中,这是视频资源的 id 属性的值。这是 核心维度,受弃用政策约束。

【讨论】:

  • 你确定这不是正确的用法吗?看来 SO 上的其他答案已成功运行类似代码,请参阅:stackoverflow.com/questions/12982845/… 如果这不是应该使用“视频”维度的方式,如果我想要按视频排序的广告收入列表,我应该进行哪些修改,而不是天?我不只是想要 1 个视频的详细信息,我想要一个完整的维度来列出所有视频请求的数据。谢谢!
【解决方案2】:

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

在 AppsScript 中格式化 maxResults 的正确方法是: “最大结果”:“5”

所以完成的、可以工作的代码行是:

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

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

【讨论】:

    猜你喜欢
    • 2014-08-13
    • 2013-03-21
    • 2015-09-16
    • 1970-01-01
    • 2019-05-21
    • 2013-02-22
    • 2013-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多