Можем ли мы использовать API данных google youtube без OAuth

После прочтения документов Google API. Я знаю, что если создаваемому нами проекту требуется доступ к личным данным, мы должны использовать oauth. Но вот моя ситуация. мы откроем бизнес-аккаунт на Youtube, и мы создадим проект для загрузки видео в нашу собственную учетную запись, нам не нужно управлять учетной записью другого пользователя. Можем ли мы использовать API данных google youtube без OAuth?


person Daniel Cai    schedule 22.11.2016    source источник
comment
С помощью, которую я получил от @DalmTo, я создал проект, который использует api клиента узла google для загрузки видео в github. githubLink. Посмотрите, есть ли у вас такая же проблема с использованием google oauth2client.   -  person Daniel Cai    schedule 24.11.2016


Ответы (1)


Есть два способа получить доступ к личным данным пользователя с помощью API Google.

  1. Проливной Oauth2. если у вас есть согласие спросить владельца учетной записи, можете ли вы получить к ней доступ
  2. Сервисные аккаунты, которые технически предварительно авторизованы разработчиком.

Обычно я бы сказал, поскольку вы получаете доступ только к одной учетной записи, которой владеете, используйте учетную запись службы. К сожалению, API YouTube не поддерживает аутентификацию сервисного аккаунта.

Из-за отсутствия поддержки сервисного аккаунта вам придется использовать Oauth2. Я делал это в прошлом.

Выполните аутентификацию вашего скрипта один раз, используя какой-либо серверный язык. Сервер аутентификации вернет вам токен обновления. Токены обновления можно использовать в любое время для получения нового токена доступа. Токены доступа используются для доступа к API Google и действительны только в течение часа. Сохраните этот токен обновления где-нибудь. После этого вы сможете разрешить доступ к рассматриваемой учетной записи YouTube, когда захотите.

Примечание. Вам придется его посмотреть. В редких случаях жетоны обновления могут стать недействительными. Я рекомендую подготовить сценарий, который позволит вам повторно аутентифицировать приложение, снова сохранив новый токен обновления. Такое случается редко, но лучше всего заранее спарить.

Игровая площадка Oauth

Отчасти суть Oauth заключается в том, что он идентифицирует ваше приложение в Google через создание вашего проекта в консоли разработчика Google. Такие вещи, как квота и доступ к контролируемым API. Если вы спамите API, они узнают и отключат вас. (никогда не видел, чтобы это происходило)

Когда вы запрашиваете доступ пользователя, оно появляется с названием проекта в консоли разработчика Google. Это определяется идентификатором клиента и секретом клиента для этого проекта в консоли разработчика Google. Когда я использую oauth игровую площадку, меня спрашивают: "Google OAuth 2.0 Playground хотела бы ..."

Таким образом, используя игровую площадку, вы используете идентификатор клиента Googles и секрет клиента, чтобы создать себе токен обновления. Если N других разработчиков также делают это, квота для YouTube может быть использована в течение дня. Также с точки зрения безопасности вы теперь предоставляете этому проекту доступ к своим данным. Игнорируйте это на секунду, что, если Google вдруг решит удалить, изменить идентификатор клиента или сгенерировать новый. Ваш токен обновления больше не будет работать. Что, если случайный разработчик X также использует его, и он начинает спамить все, а идентификатор клиента отключается (подумайте, это произошло в прошлом году), вам придется ждать, пока Google загрузит новый идентификатор клиента для того, который теперь был забанен.

Google OAuth 2.0 Playground может показаться неплохим, но это не для повседневного использования. ИМО, это хорошо для тестирования. Создайте свой собственный проект и получите собственный доступ, это несложно, просто требуется язык программирования, который может обрабатывать http Post.

Мой учебник Google 3 legged oauth2 flow

person DaImTo    schedule 22.11.2016
comment
Я также заметил, что Google предоставляет инструмент под названием oauth plays. он может генерировать токен обновления и токен доступа, могу ли я использовать этот инструмент вместо написания собственного скрипта для получения токена обновления? Срок действия долговечного кода обновления не истечет, мы можем использовать его для генерации токена доступа в любое время, верно? Но сервисная учетная запись не может использоваться для данных Youtube. Api действительно усложняет задачу. Спасибо за вашу помощь. DalmTo, очень ценю это. - person Daniel Cai; 22.11.2016
comment
Это оказалось стеной текста, извините :) Я занимаюсь этим уже четыре года, и с радостью помогу. Может просто сэкономить ваше время, указав правильное направление. - person DaImTo; 22.11.2016
comment
@DalmTo, я смотрел это видео: для создания вызовов API YouTube с использованием API обновления площадка OAuth на YouTube. Мы можем использовать наш собственный идентификатор клиента и секрет для генерации токена обновления на игровой площадке oauth. Но да, я должен написать свой собственный код для генерации токена обновления. Спасибо за подробное объяснение. - person Daniel Cai; 22.11.2016
comment
если вы можете использовать свой собственный идентификатор клиента и секретировать, я не вижу причин, по которым вы не можете использовать площадку Oauth. вам все равно придется кодировать токен доступа из токена обновления. - person DaImTo; 22.11.2016
comment
@DaimTo Спасибо за ответ! Я пытался использовать учетную запись службы и не мог понять, почему не могу найти ничего, кроме примеров OAuth. - person Joey Garcia; 11.07.2017
comment
этот пост помог мне практически применить технику, рекомендованную в этом отвечать - person dcdrns; 08.07.2020