Youtube Oauth обратный вызов не работает - PullRequest
1 голос
/ 31 октября 2011

Я использую URL, подобный следующему:

  https://www.google.com/accounts/OAuthAuthorizeToken?
oauth_token=ab3cd9j4ks73hf7g&oauth_callback=http%3A%2F%2Fwww.example.com

Это перенаправляется на:

http://www.youtube.com/oauth_authorize_token?oauth_callback=http%3A%2F%2Fwww.google.com&oauth_token=1%2FyT-RZ-5PAMCp43Wt0RAGpNUAbMKAHxq1MG_RiX3Cmtk

После того, как пользователь нажимает, чтобы разрешить доступ, YouTube направляет страницу на:

http://www.youtube.com/t/oauth_token_authorized

Почему обратный вызов не работает?

Их API , похоже, согласен с тем, что я делаю.

1 Ответ

3 голосов
/ 04 ноября 2011

В сумме вы указываете oauth_callback слишком поздно в процессе. Вместо этого предоставьте это в самом начале. Для провайдера Google вы звоните OAuthGetRequestToken.

Эта документация Google , кажется, делает это правильно. Странный. Я также обнаружил другую документацию , которая объясняет то же самое: «[Поставщик услуг] ДОЛЖЕН связывать URL-адрес обратного вызова, отправленный на шаге 1, с маркером запроса, который он выдает». Таким образом, вы должны предоставить URL обратного вызова при получении «неавторизованного» токена запроса («неавторизованного», потому что пользователь еще не дал свое разрешение). После того, как вы это сделаете, вы можете перенаправить пользователя на URL авторизации, где пользователь (он же владелец ресурса) явно предоставляет доступ для вашего приложения.

Вот страница , которая предоставляет соответствующую информацию об OAuth 2.0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...