Однопользовательский сценарий YouTube API с OAuth (загрузка видео)
-
27-10-2019 - |
Вопрос
Этот вопрос уже был задан, но никогда не ответил.
Я хочу написать несколько сценариев PHP, которые загрузили бы видео в мою собственную учетную запись YouTube. Я уже зарегистрировал приложение и имею ключ разработчика, ключ клиента и секрет клиента.
Мне не нужно разрешать пользователю загружать видео в свои учетные записи, поэтому мне не нужно проходить полный процесс OAuth; Особенно мне никого не нужно перенаправлять нигде: мне нужны только мои сценарии для аутентификации от моего имени (не от имени кого -либо другого).
Я знаю, что могу использовать аутентификацию ClientLogin, но я прочитал на сайте документации API YouTube, что она «не рекомендуется для новой разработки», и я боюсь, что это означает, что поддержка его будет прекращена в ближайшем будущем. Поэтому я бы предпочел использовать OAuth.
API Twitter, который также использует OAuth, предоставляет простой способ аутентификации с собственной учетной записью владельца приложения за один шаг, используя токен доступа, который вы можете найти на странице администрирования вашего приложения. Как я могу получить аналогичный токен для моего приложения на YouTube?
Спасибо м.
Решение
Попробуйте OAuth 2.0 для установленного приложения: http://code.google.com/apis/youtube/2.0/developers_guide_protocol.html#oauth2_installed_applications_flow
Во -первых, зарегистрируйте API, чтобы получить client_id.
Затем войдите в свою учетную запись Google, введите следующий URL, измените Client_ID с вашей. redirect_uri должен быть установлен на «Урн: 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"
}
Вспомните represh_token, и каждый раз, когда вы запускаете свое приложение, вам нужно получить новый Access_token с помощью represh_token.