gpt4 book ai didi

ruby-on-rails - 请求 token 的 OAuth 调用产生 404 错误

转载 作者:太空宇宙 更新时间:2023-11-03 17:26:44 24 4
gpt4 key购买 nike

我很难让 OAuth gem 为 Flickr API 正常工作。我正在尝试使用此代码生成请求 token :

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::Unauthorized (404 Not Found)”。

我的终点来自:http://www.flickr.com/services/api/misc.overview.html

我的 OAuth gem 使用默认的 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 上使用过完全相同的代码并且它有效,所以我不太确定此时该做什么。任何帮助将不胜感激!

最佳答案

我遇到了同样的问题。 Request_token_url 方法返回正确的 url,但我观察了 wireshark 真正请求的 url,并且有 www.flickr.com/oauth/request_token.. 所以它需要将/services 路径从 :site 选项移动到路径选项。

这段代码现在对我有用:

    consumer = OAuth::Consumer.new(key, secret, 
:site => "http://www.flickr.com",
:request_token_path => '/services/oauth/request_token',
:authorize_path => '/services/oauth/authorize',
:access_token_path => '/services/oauth/access_token')
request_token = consumer.get_request_token

关于ruby-on-rails - 请求 token 的 OAuth 调用产生 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7099686/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com