Apiにリクエストをする際のurlの発行方法

Topic summary

問題の発端:
外部サービスとの連携で「APIリクエスト用URL」を求められたが、提示されたURL形式(https://①:②@ショップ名.myshopify.com/admin/api/2021-10/orders.json)の①と②に何を入れるべきか不明。

解決プロセス:

  • URL内の①:②@はBasic認証を表すが、ShopifyストアにはBasic認証が存在しないため、この形式は不適切と指摘された。
  • HTTP認証に変更後も、アクセストークンやAPIキーを入力すると「Invalid API key or access token」エラーが発生。
  • 解決策: カスタムアプリを作成してアクセストークンを取得し、リクエストヘッダーにX-Shopify-Access-Token: {access_token}を含める形式に変更。
  • 具体的なcurlコマンド例も提示され、外部サービスへの正しい連携方法が明確化。

結果:
無事解決し、外部サービスとの連携が完了。

Summarized with AI on November 11. AI used: claude-sonnet-4-5-20250929.

初心者につき、質問の仕方も不安ですがよろしくお願いいたします。

外部サービスとの連携のため、

「APIにリクエストをする際のURL」を教えてほしいと言われています。

https://①:②@ショップ名.myshopify.com/admin/api/2021-10/orders.json

のような形式で、

①と②にはいるものを教えて欲しいと言われておりこの出し方を教えていただきたいです。

アプリを開発からAdmin APIを開き、

アクセストークンなどは導きだせたものの、

上記のようなURLが導き出せず困っています。

外部サービス側もShopifyについてはわからないとのことで、答えられないようです。

おそれいりますがよろしくお願いいたします。

@veatm

おそらく、外部サービス様側が何か勘違いされていると思うのですが、

https://①:②@ショップ名.myshopify.com/admin/api/2021-10/orders.json 

①:②@

は、

Basic認証を表しています。

そして、ShopifyストアにBasic認証はありませんので、外部サービス様側に伝えられる情報はありません。

ShopifyのAPI接続に必要になるのは、

https://ショップ名.myshopify.com/admin/api/2021-10/orders.json

こちらの情報と、APIのアクセストークンだけです。

ですので、

アプリを開発からAdmin APIを開き、

アクセストークンなどは導きだせたものの、

こちらを外部サービスにお伝えいただければ十分なはずです。

ご参考まで。

(キュー田辺)

1 Like

ご回答いただきありがとうございます。

HTTP認証でやってくれることになったのですが、

アクセストークンを入力しても、APIキーを入力しても

「"errors": "[API] Invalid API key or access token (unrecognized login or wrong password)"」

と出てしまうようです。

こちら側でなにか設定や手順が必要と思われますでしょうか。

もしくは先方のやり方が間違っているのでしょうか。

おそれいりますがお伺いできますと幸いです。

何卒よろしくお願い申し上げます。

@veatm

https://help.shopify.com/ja/manual/apps/app-types/custom-apps#enable-custom-app-development

こちらの方法で、カスタムアプリを作成しますと、

下記のように、アクセストークンが入手できるかと思います。

こちらを外部サービス様にお伝えいただきましたら、

https://shopify.dev/docs/api/admin-rest/2023-10/resources/order#post-orders

curl -X GET "https://your-development-store.myshopify.com/admin/api/2023-10/orders.json?status=any" \
-H "X-Shopify-Access-Token: {access_token}"

上記のサンプルのようにし、
URLを質問者様のストアのURLにし、

-H "X-Shopify-Access-Token: {access_token}" 

{access_token}を、カスタムアプリのものに差し替えれば、アクセスできるかと思います。

ご参考まで。

(キュー田辺)

1 Like

無事解決、着地いたしました!
ご返信いただき誠にありがとうございました!

感謝申し上げます!

1 Like