3

Rails を使用して shopify アプリを開発しており、OAuth2 認証の両方のリンクをたどっています: http://api.shopify.com/authentication.html& https://github.com/Shopify/shopify_api.

パーマネント アクセス トークンを要求するステップで行き詰まりました。client_id、client_secret、およびコード パラメータをhttps://SHOP_NAME.myshopify.com/admin/oauth/access_token認証ドキュメントで指定されているとおりに POST しましたが、アクセス トークンを受け取りません。取得した応答は、本文とヘッダーが空のステータス 200 です。

コード:

http = Net::HTTP.new("https://#{params[:shop].to_s.strip}")
request = Net::HTTP::Post.new("/admin/oauth/access_token")
request.set_form_data({
    "client_id" => ShopifyApp.configuration.api_key,
    "client_secret" => ShopifyApp.configuration.secret,
    "code" => params[:code].to_s.strip
})
response = http.request(request)

応答:

@body=[],
@header={},
@status=200,

私をさらに混乱させているのは、(ここで間違っている可能性がありますが)shopify_appがこのステップを実行していないようです. また、同様の質問も見つけました。Shopify アプリのパーマネント アクセス トークンを受け取ることができませんが、まだ回答がありません。

追記:誤字だったので.myshopify.com削除。http = Net::HTTP.new("https://#{params[:shop].to_s.strip}")

編集 2:
結果が得られた HTML フォームから投稿しようとしましたが、上記の例または rest-client gem を使用してコード内でこれを機能させることができませんでした。
ここで何が起こっているのか、まだ非常に混乱しています。

4

2 に答える 2

1

にリンクした質問に対する回答を参照してください。

それがあなたにとって同じ問題ではない場合、送受信されている生のリクエストとレスポンスのデータを投稿できますか? 使用している API キーも役立ちます。

コマンドラインでcurlを試してみることをお勧めします。うまくいかない場合は、途中の各ステップに各curl文字列を投稿できます。

shopify_app は、oauth 認証を処理するomniauth およびomniauth-shopify-oauth2 に依存します。

于 2012-07-02T00:57:56.037 に答える