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_tokenoauth_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_tokenoauth_token_secret 以及 oauth_consumer_key (我不确定我应该如何使用)。我得到了临时令牌并尝试了许多组合但没有成功,我总是得到 oauth_token=rejected 。我仍然没有弄清楚我是否应该使用 oauth_consumer_key 以及在何处使用 oauth_verifier 是否实际上是 oauth_secret.

我错过了什么?感谢任何帮助。

我终于设法找到了需要做的事情。在向 Etsy 发出初始请求后,我必须存储 oauth_tokenoauth_secret。然后是 Etsy returns 以及 oauth_verifier.

之后要获取并执行每个请求,您需要将这三个请求都发送给工作。