Etsy oauth 和获取信息
Etsy oauth and fetching info
我正在尝试使用 etsy API 并使用 oauth gem 进行验证。通过在第一个请求 url:
中执行此操作,我已成功获得一个成功的令牌
scopes = ["email_r", "feedback_r", "listings_r", "transactions_r"]
oauth_consumer = OAuth::Consumer.new(Rails.application.secrets.etsy_api_key,
Rails.application.secrets.etsy_api_secret,
site: "https://openapi.etsy.com/v2"
)
oauth_consumer.options[:request_token_path] = "/oauth/request_token?scope=#{scopes.join('%20')}"
request_token = oauth_consumer.get_request_token(oauth_callback: new_etsy_authentication_url)
redirect_to request_token.params[:login_url]
然后用户通过了 etsy 验证页面和回调 url 我有以下内容:
current_user.update(etsy_auth: {
oauth_token: params["oauth_token"],
oauth_verifier: params["oauth_verifier"],
oauth_created_at: Time.current.to_i
})
我成功保存 etsy oauth_token
和 oauth_verifier
的地方。
问题在那之后开始。我已经尝试了很多方法来向用户发出请求,但我总是 oauth_token=rejected。这是我到目前为止所做的示例:
oauth_consumer = OAuth::Consumer.new(Rails.application.secrets.etsy_api_key,Rails.application.secrets.etsy_api_secret,site: "https://openapi.etsy.com/v2")
access_token = OAuth::AccessToken.new(oauth_consumer, oauth_token: current_user.etsy_auth["oauth_token"], oauth_secret: current_user.etsy_auth["oauth_verifier"])
access_token.request(:get, "/users/__SELF__")
我是否应该在此之前再做一个请求,以实际获得另一个临时 oauth_token 和 oauth_secret?
我试过这样做:
request_token = oauth_consumer.get_request_token
我得到了一个临时 oauth_token
和 oauth_token_secret
以及 oauth_consumer_key
(我不确定我应该如何使用)。我得到了临时令牌并尝试了许多组合但没有成功,我总是得到 oauth_token=rejected 。我仍然没有弄清楚我是否应该使用 oauth_consumer_key
以及在何处使用 oauth_verifier
是否实际上是 oauth_secret.
我错过了什么?感谢任何帮助。
我终于设法找到了需要做的事情。在向 Etsy 发出初始请求后,我必须存储 oauth_token
和 oauth_secret
。然后是 Etsy returns 以及 oauth_verifier
.
之后要获取并执行每个请求,您需要将这三个请求都发送给工作。
我正在尝试使用 etsy API 并使用 oauth gem 进行验证。通过在第一个请求 url:
中执行此操作,我已成功获得一个成功的令牌 scopes = ["email_r", "feedback_r", "listings_r", "transactions_r"]
oauth_consumer = OAuth::Consumer.new(Rails.application.secrets.etsy_api_key,
Rails.application.secrets.etsy_api_secret,
site: "https://openapi.etsy.com/v2"
)
oauth_consumer.options[:request_token_path] = "/oauth/request_token?scope=#{scopes.join('%20')}"
request_token = oauth_consumer.get_request_token(oauth_callback: new_etsy_authentication_url)
redirect_to request_token.params[:login_url]
然后用户通过了 etsy 验证页面和回调 url 我有以下内容:
current_user.update(etsy_auth: {
oauth_token: params["oauth_token"],
oauth_verifier: params["oauth_verifier"],
oauth_created_at: Time.current.to_i
})
我成功保存 etsy oauth_token
和 oauth_verifier
的地方。
问题在那之后开始。我已经尝试了很多方法来向用户发出请求,但我总是 oauth_token=rejected。这是我到目前为止所做的示例:
oauth_consumer = OAuth::Consumer.new(Rails.application.secrets.etsy_api_key,Rails.application.secrets.etsy_api_secret,site: "https://openapi.etsy.com/v2")
access_token = OAuth::AccessToken.new(oauth_consumer, oauth_token: current_user.etsy_auth["oauth_token"], oauth_secret: current_user.etsy_auth["oauth_verifier"])
access_token.request(:get, "/users/__SELF__")
我是否应该在此之前再做一个请求,以实际获得另一个临时 oauth_token 和 oauth_secret?
我试过这样做:
request_token = oauth_consumer.get_request_token
我得到了一个临时 oauth_token
和 oauth_token_secret
以及 oauth_consumer_key
(我不确定我应该如何使用)。我得到了临时令牌并尝试了许多组合但没有成功,我总是得到 oauth_token=rejected 。我仍然没有弄清楚我是否应该使用 oauth_consumer_key
以及在何处使用 oauth_verifier
是否实际上是 oauth_secret.
我错过了什么?感谢任何帮助。
我终于设法找到了需要做的事情。在向 Etsy 发出初始请求后,我必须存储 oauth_token
和 oauth_secret
。然后是 Etsy returns 以及 oauth_verifier
.
之后要获取并执行每个请求,您需要将这三个请求都发送给工作。