アプリ内から AXIOS を使用して、shopify 管理 API にアクセスしています。私は顧客をメタフィールドで更新しています(私が理解しているように、ストアフロント API は graphql をサポートしていません)。PUT を実行すると、プリフライト オプション エラーが発生します。エラーは 404 です。ヒットしようとしているアイテムは実際に存在するため、shopify がリクエストの処理を誤っているのか、設定に何か不足しているのか疑問に思っています。
注: Postman を介して同じ要求を正常に行うことができます。私の知る限り、郵便配達員はオプションのプリフライトを行っていません。
私のコード:
axios({
method: 'PUT',
url: `https://${SHOPIFY_SHOP}/admin/customers/${decodedId}.json`,
auth: {
username: SHOPIFY_BASIC_AUTH_USERNAME,
password: SHOPIFY_BASIC_AUTH_SECRET,
},
data: {
customer: {
id: decodedId,
metafields: [
{
namespace: 'custom_fields',
key: 'organization',
value: org,
value_type: 'string',
},
{
namespace: 'custom_fields',
key: 'token_pro',
value: isPro,
value_type: 'integer',
},
],
},
},
}).then((data) => {
debugger
}).catch(( error ) => {
debugger
});
エラー
OPTIONS https://SHOP_NAME.myshopify.com/admin/customers/776734343229.json 404 (Not Found)
Failed to load https://SHOP_NAME.myshopify.com/admin/customers/776734343229.json: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'localhost:3000' is therefore not allowed access.
この axios 呼び出しの時点で顧客が実際に存在していることに注意してください。