Как предоставить доступ к API отчетов YouTube для учетной записи службы Google?
Я пытаюсь получить доступ к API отчетов YouTube с помощью учетной записи службы. Но я получаю 403 запрещено при попытке сделать youtubeReporting.jobs().list().execute()
,
API отчетов YouTube явно предполагал взаимодействие между серверами.
Нужно ли предоставлять доступ к API отчетов YouTube для учетной записи службы Google? Если так, то как?
К вашему сведению: я не использую домен приложения Google.
2 ответа
Вы можете создать учетные данные службы в консоли Google, но эти учетные данные не решат вашу проблему. Согласно документам,
Поток служебной учетной записи поддерживает межсерверные взаимодействия, которые не обеспечивают доступ к пользовательской информации. Однако API отчетов YouTube и API аналитики YouTube не поддерживают этот поток. Поскольку невозможно связать служебную учетную запись с учетной записью YouTube, попытки авторизовать запросы с помощью этого потока приведут к ошибке.
Это нелогично - (не говоря уже о том, что его трудно найти)- эта информация особенно. поскольку концептуально связанные API YT используют учетные записи служб, см. здесь, и кажется, что действия API отчетности не должны быть связаны с определенной учетной записью пользователя.
К сожалению, если вы используете служебную учетную запись для API отчетов YouTube, у вас все равно останется ошибка неавторизованного абонента 403.
Вместо этого создайте и используйте учетные данные Google для веб-клиента. Сохраните и используйте токен, сгенерированный из потока.
Вы можете сделать это в консоли Cloud Platform. Подробнее см. https://support.google.com/cloud/answer/6158841?hl=en