Надеюсь, это не слишком сложно. :) вещь ..
Я пытаюсь сделать свои записи PHP-кода в Google Buzz, используя OAuth в качестве механизма аутентификации. Я делаю типичный "танец OAuth" (получить токен запроса, авторизовать его, обменять на токен доступа), но столкнулся с некоторыми проблемами, которые, похоже, на стороне Google. Надеюсь, я ошибаюсь - это будет гораздо проще исправить. :)
Чтобы добраться до сути - параметр oauth_callback, похоже, не передается в форму авторизации. URI авторизации, на который я перенаправляю, выглядит так:
https://www.google.com/buzz/api/auth/OAuthAuthorizeToken
?domain=<my.domain>
&scope=<urlencode(https://www.googleapis.com/auth/buzz)>
&oauth_token=<request_token>
&oauth_callback=<my.domain/callback>
При перенаправлении клиенту предлагается авторизовать сайт для чтения / записи из / в Buzz. В случае принятия Google снова просит (но в другой форме) разрешить доступ .. после повторного разрешения отображается сообщение об успехе, но оно не возвращает никаких токенов на мой сайт, не перенаправляя на oauth_callback uri.
Обходной путь, который я нашел, состоит в том, чтобы вручную добавить поле формы 'oauth_callback =' через инспектор firebug / chrome, а затем, после этих двух подтверждений, он перенаправляет на мой сайт, и я могу извлечь авторизованный токен из ответа и обменять его на токен доступа. Если я использую «стандартную» конечную точку авторизации Google, меня перенаправляют правильно (только одно подтверждение), но после этого полученный мной токен недействителен для Buzz.
Итак, я не прав или Google ?! : D Я реализовал OAuth для сотрудничества с некоторыми другими службами (Facebook, MySpace ...), но у меня никогда не было таких проблем.