Я пытаюсь использовать API аналитики и отчетности YouTube с помощью скрипта Служб Google, чтобы заполнить лист Google данными аналитики из учетных записей брендов YouTube, которыми я владею и управляю.
В качестве предисловия я попробовалэто на каналах YouTube, которыми я владею, и на каналах, которыми я управляю, и ничего не работает. Я также рассмотрел все вопросы и ответы по переполнению стека за последние несколько дней, и ничего не помогло. Поверьте мне, когда я говорю, что все перепробовал. Я не верю, что проблема заключается в коде или в том, как я его настраиваю;Я считаю, что это связано с Google или с самим API YouTube.
Вот шаги, которые я предпринял:
Включите API-интерфейс аналитики YouTube и API данных YouTube вGoogle Apps Script. (API отчетов YouTube нигде не найдено, в чем может быть проблема ...)
Включить те же API в консоли разработчика Google (там доступен API отчетов YouTube)
Установите идентификатор клиента и секрет и связали мой проект со скриптом приложений
Проверено, что мой код действительно работает, введя те же точные параметры (метрики, измерения и т. д.) в обозревателе API аналитики и отчетности YouTube в консоли разработчика Google. Когда я делаю это, исследователь действительно экспортирует нужную информацию. Однако в Google Apps Script он вообще не работает.
Из-за того, что код работает в Проводнике, а не в Google Apps Script, я считаю, что что-то естьпросто, что я делаю неправильно, или это ошибка на стороне Google. Я надеюсь, что есть способ обойти это или исправить, потому что я действительно хотел бы получить данные из моих каналов YouTube в Google Sheets.
Код скрипта Google Apps (сокращенно для простоты. Клавиша """свойство может быть необязательным, но без него оно также не работает).
function myFunction() {
var metrics = [
'averageViewDuration'
];
var oneMonthInMillis = 1000 * 60 * 60 * 24 * 30;
var today = new Date();
var lastMonth = new Date(today.getTime() - oneMonthInMillis);
var report = YouTubeAnalytics.Reports.query({
ids: 'channel==MINE',
startDate: formatDateString(lastMonth),
endDate: formatDateString(today),
metrics: metrics.join(','),
dimensions: 'day',
sort: 'day',
includeHistoricalChannelData: false,
key: "AIzaSyAcVb-hriIydRs8iVqFZ6ZoyL8En3qLcnc",
});
Logger.log(report);
}
Когда я запускаю код, в логгер выводится ноль. Я ожидаю, что там что-то будет.
Напоминаем, что это происходит, когда я выбираю любую учетную запись, кроме своей основной учетной записи. Когда я выбираю основную учетную запись, прикрепленную к учетной записи (у которой нет канала YouTube), она выводит следующее:
"[19-10-30 17: 58: 19: 251 PDT]{columnHeaders = [{columnType = DIMENSION, dataType = STRING, имя = день}, {columnType = METRIC, dataType = INTEGER, name = averageViewDuration}], kind = youtubeAnalytics # resultTable, lines = [[2019-09-30, 0], [2019-10-01, 0], [2019-10-02, 0], [2019-10-03, 0], [2019-10-04, 0], [2019-10-05, 0], [2019-10-06, 0], [2019-10-07, 0], [2019-10-08, 0] ...]]} "
Нет причинчто это не должно работать. Как вы думаете, в чем проблема?