2010-08-03 8 views
0

희망 사항이 너무 복잡해지지 않기를 바랍니다. :) 것은Google 버즈 및 OAuth - 리디렉션 문제

OAuth를 인증 메커니즘으로 사용하여 Google 버즈에 메모를 작성하려고합니다. 나는 전형적인 "OAuth dance"(요청 토큰을 얻고 권한을 부여하고 액세스 토큰을 교환 함)을하고 있지만 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> 

을 요청합니다. 수락되면 Google은 다시 허용하도록 다른 양식으로 요청합니다 .. 두 번째 허용 후 성공 메시지가 표시되지만 oauth_callback uri로 리디렉션하지 않고 토큰을 내 사이트로 반환하지 않습니다.

해결 방법 수동으로 폼 필드 'oauth_callback ='trough firebug/chrome inspector를 추가 한 다음이 두 확인 후에 내 사이트로 리디렉션되고 응답에서 승인 된 토큰을 추출하여 액세스 토큰으로 교환 할 수 있음을 발견했습니다. . '표준'Google 승인 엔드 포인트를 사용하는 경우 제대로 리디렉션되지만 (단 하나의 확인 만) 액세스 토큰은 버즈에 대해 유효하지 않습니다.

그래서 내가 잘못 했나요? google ?! : D 나는 몇몇 다른 서비스 (Facebook, MySpace ..)와의 협력을 위해 OAuth를 구현했지만, 결코 이런 문제가 없었습니다.

답변

0

괜찮아요, 다음 날 아침에 (부분적으로) 신선한 눈으로 해결할 때 솔루션이 꽤 쉽습니다 (그러나 여전히 문서화되지 않았습니다). :) 다른 사람이 답을 필요로 할 경우를 대비하여 - 요청을 요청할 때 oauth_callback 매개 변수를 지정해야합니다. 토큰.

+0

실제로 ** OAuth 일반 문서 (http://code.google.com/apis/accounts/docs/OAuth_ref.html#RequestToken)에 문서화되어 있습니다.이 문서는 Buzz docs (http://code.google.com/apis/buzz/v1/using_rest.html#authentication). –