私たちは同様の考えを持っていると思います!私はあなたとまったく同じ問題を経験していました。私たちはどちらもドキュメントに混乱していたと思います!
私はshopify_app
gemを使用して私のアプリを生成しました。これはlogin_controller.rb
に次のメソッドを作成しました:その
def finalize
if response = request.env['omniauth.auth']
sess = ShopifyAPI::Session.new(params['shop'], response['credentials']['token'])
session[:shopify] = sess
flash[:notice] = "Logged in"
redirect_to return_address
session[:return_to] = nil
else
flash[:error] = "Could not log in to Shopify store."
redirect_to :action => 'index'
end
end
3号線(ShopifyAPI::Session.new
)私たちのためにStep 2 of the Shopify Authenticationを行っています。永久的なアクセストークンを取得しています。
変数sess
今二つのものが含まれます:
- を* .myshopify.com店のドメイン(
url
)
- 将来の使用(
token
) のために保存するための恒久的なアクセストークン
John Duff氏によると、既にアクセストークンがあります。 〜https://SHOP_NAME.myshopify.com/admin/oauth/access_token
をPOSTする必要はありません。これは、shopify_app
gemによって生成されたコードで処理されます。私のfinalizeメソッドで
、私はラインを追加しました:
def finalize
if response = request.env['omniauth.auth']
sess = ShopifyAPI::Session.new(params['shop'], response['credentials']['token'])
Shop.find_or_create_by_myshopify_domain(sess.url, access_token: sess.token)
...
これはお店を作成し、それをアクセストークンを割り当てます。マイショップモデルの属性はmyshopify_domain
とaccess_token
です。私はその店のためShopifyAPIを使用したい場合には、将来に
、私はちょうど私がこの1つをナットにしようと時間を費やしshopify_api gem homepage
で見つかった指示に従うことができます。私はドキュメントがどのように明確になるのか分かりません。うまくいけば、問題が再発すると、人々はこのStackOverflowページを見つけます!
私はこれがあなたにとって助けになることを願っています。
乾杯は、 ニック
あなたは生のリクエストとレスポンスを投稿することができますか?使用しているAPIキーも同様に役立ちます。 –
私は完全な応答を示すいくつかの画像を追加しました。 APIキー(クライアントID)もあります。あなたの興味に感謝します! – Augusto