Однопользовательский сценарий YouTube API с OAuth (загрузка видео)
Этот вопрос уже задавался, но никогда не отвечал.
Я хочу написать несколько сценариев php, которые бы загружали видео в мой аккаунт YouTube. Я уже зарегистрировал приложение и имею ключ разработчика, ключ клиента и секрет клиента.
Мне не нужно позволять любому пользователю загружать видео в свои учетные записи, поэтому мне не нужно проходить весь процесс OAuth; особенно мне не нужно никого перенаправлять куда-либо: мне нужны только мои скрипты для аутентификации от моего имени (а не от кого-либо еще).
Я знаю, что могу использовать аутентификацию ClientLogin, но я прочитал на сайте документации по API YouTube, что он "не рекомендуется для новых разработок", и я боюсь, что это означает, что его поддержка будет прекращена в ближайшем будущем. Поэтому я бы предпочел использовать OAuth.
API Twitter, который также использует OAuth, предоставляет простой способ аутентификации с помощью собственной учетной записи владельца приложения за один шаг с использованием токена доступа, который вы можете найти на странице администрирования вашего приложения. Как я могу получить аналогичный токен для моего приложения на Youtube?
Спасибо, м.
1 ответ
Попробуйте OAuth 2.0 для установленного приложения: http://code.google.com/apis/youtube/2.0/developers_guide_protocol.html
Сначала зарегистрируйте API, чтобы получить client_id.
Затем войдите в свою учетную запись Google, введите следующий URL, измените client_id на свой. redirect_uri должен быть установлен в "urn: ietf: wg: oauth: 2.0: oob".
Затем вы авторизуете свое приложение и получаете код авторизации.
Затем откройте терминал и введите (измените ваш код, client_id и client_secret):
curl https://accounts.google.com/o/oauth2/token -d "code=4/ux5gNj-_mIu4DOD_gNZdjX9EtOFf&client_id=1084945748469-eg34imk572gdhu83gj5p0an9fut6urp5.apps.googleusercontent.com&client_secret=hDBmMRhz7eJRsM9Z2q1oFBSe&redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code"
Вы получите ответ как:
{
"access_token" : "ya29.AHES6ZTtm7SuokEB-RGtbBty9IIlNiP9-eNMMQKtXdMP3sfjL1Fc",
"token_type" : "Bearer",
"expires_in" : 3600,
"refresh_token" : "1/HKSmLFXzqP0leUihZp2xUt3-5wkU7Gmu2Os_eBnzw74"
}
Запомните refresh_token, и каждый раз, когда вы запускаете свое приложение, вам необходимо получить новый access_token с refresh_token.