2011-10-31 28 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