YouTube API — видео как измерение не работает, потому что maxResults не работает

Я пытаюсь использовать 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», все будет работать, как и ожидалось, так как это также примерные параметры, перечисленные здесь: https://developers.google.com/youtube/analytics/v1/dimsmets/dims

(Интересно и, возможно, подсказка, параметр «пол» тоже не работает и выдает ту же ошибку, что и выше).

Я подозреваю, глядя на подобные вопросы в StackOverflow, что проблема может заключаться в том, что maxResults должен быть объявлен, и по какой-то причине мой не работает. Даже когда я устанавливаю измерения на «день» и получаю отчет без ошибок, maxResults никогда не ограничивается целым числом, которое я ему назначаю. Вместо этого он даст 30 результатов, поскольку у меня есть 30-дневный диапазон, и я даю ему измерение «день».

Любая помощь будет принята с благодарностью, спасибо.


person IndieProgrammer    schedule 05.10.2017    source источник
comment
Просто хочу добавить ссылку на конкретную документацию по использованию параметра видео: developers.google.com/youtube/analytics/v1/ Я чувствую, что соблюдаю все правила здесь.. (Примечание в AppsScript max-results печатается как maxResults)   -  person IndieProgrammer    schedule 05.10.2017


Ответы (2)


Я думаю, что это badRequest error происходит из-за того, что в поле dimensions вместо действительного видеоидентификатора вы поместили буквальное слово «видео». Ознакомьтесь с документацией:

видео (основной параметр)

Идентификатор видео на YouTube. В API данных YouTube это значение свойства id видеоресурса. Это основной параметр, на который распространяется Политика прекращения поддержки.

person noogui    schedule 05.10.2017
comment
Вы уверены, что это неправильное использование? Похоже, что другие ответы на SO успешно запустили аналогичный код, см.: stackoverflow.com/questions/12982845/ Если размер «видео» не следует использовать таким образом, какие изменения следует внести, если я хотите список доходов от рекламы, отсортированный по видео, а не по дням? Мне нужны не просто сведения об одном видео, я хочу, чтобы все измерение отображало данные, запрошенные для всех видео. Спасибо! - person IndieProgrammer; 05.10.2017

Хорошо. Я был прав, предположив, что им не нравится, когда я использую видео в качестве измерения, потому что maxResults не работает.

Правильный способ форматирования maxResults внутри AppsScript: «max-results»: «5»

Итак, завершенная рабочая строка кода:

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

{
    dimensions: 'video',
    'max-results': '5',
    sort: '-views'
});
person IndieProgrammer    schedule 16.10.2017