2011-10-31 30 views
1

的Youtube的Oauth回調,我使用如下的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似乎同意我在做什麼。

+0

您使用哪個OAuth工具?我使用Spring Security OAuth,對我來說工作得很好。很容易配置 – javagirl

+0

@javagirl我可能不得不嘗試一下,到目前爲止,我一直在使用Scribe或Google自己的客戶端。 – stevebot

+0

http://term.ie/oauth/example/我也用它來測試令牌等 – javagirl

回答

3

總之,您在過程中指定的oauth_callback太遲。相反,在一開始就提供它。對於Google的提供商,那是在您調用OAuthGetRequestToken時。

This Google documentation似乎得到它的權利。奇怪。我還發現other documentation解釋了同樣的事情:「[服務提供商]必須將步驟1中發送的回調URL與它發出的請求令牌關聯起來。」因此,在獲取「未授權」請求令牌時(因爲用戶尚未授予他們的許可,「未經授權」),您必須提供回調URL。完成此操作後,您可以將用戶轉發到授權URL,其中用戶(aka資源所有者)明確授予您應用程序的訪問權限。

Here's a page給出了有關OAuth 2.0的相關信息。

+0

謝謝!有一條關於您在YouTube開發者API論壇上提及的錯誤的線索,希望能夠修復他們的文檔。 – stevebot