我有一个难以置信的困难时间让OAuth gem正常工作于Flickr API。我想使用此代码生成请求令牌:OAuth调用请求令牌会产生404错误
user_oauth = OAuth::Consumer.new(consumer_key, consumer_secret, :site => "https://secure.flickr.com/services")
request_token = user_oauth.get_request_token(:oauth_callback => callback_url)
每当我运行此代码,它抛出在调用.get_request_token异常“的OAuth ::未经授权(404未找到)”。
我得到了我的终点距离:http://www.flickr.com/services/api/misc.overview.html
我的OAuth的宝石使用默认request_token路径,应按照与Flickr工作:http://www.flickr.com/services/api/auth.oauth.html#request_token我使用端点也试过这个链接用途(HTTP:// www.flickr.com/services)
当我在我的OAuth :: Consumer对象上调用.request_token_url时,它返回“https://secure.flickr.com/services/oauth/request_token”,我可以访问它我的浏览器。考虑到flickr API可能只适用于GET请求,我将OAuth方法更改为GET,但仍然无效。
我以前在不同的API上使用过这个完全相同的代码,所以我不太确定此时该做什么。任何帮助,将不胜感激!
什么是您传递作为callback_url的网址是什么?从我看到的你不需要指定它,但也许这个URL是404的。 – efalconer
我在我的应用程序中使用路由。我知道回调的工作原理,因为我已经使用了与其他API完全相同的回调URL,并且它可以工作。此外,正在对.get_request_token调用时生成404,而不是在授权应用程序后将其重定向回来。 – jjb123
与所有雅虎服务一样,Flickr要求您提供http或https回叫网址,否则它不会让您获得请求令牌。此外,雅虎的错误反应很奇怪,你可能会因为这个原因而获得404。 –