プラグイン > その他 > 4系APIのqueryを受け付けてくれない |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ohga |
投稿日時: 2022/3/28 11:10
対応状況: 解決済
|
新米 ![]() ![]() 登録日: 2021/8/6 居住地: 投稿: 6 |
4系APIのqueryを受け付けてくれない ▼テンプレート
[EC-CUBE]4.1.0 [PHP]7.4.16 [データベース]PostgreSQL9.6.20 [現象] 外部サーバーからEC-CUBEのAPIにアクセスしようとしています。 ドキュメント(https://doc.ec-cube.net/eccube-api4/)を見ながら、アクセストークン・リフレッシュトークンを取得するところまではこぎつけましたが、GraphQLのエンドポイントにアクセスしてQueryを発行しようとすると、401エラーが発生し進めません。 PHPで取得するプログラムを書いており、該当の部分は以下の通りです。 $access_token:取得したアクセストークンを入れています。 query:適当に商品を取得するクエリーです。 CURLOPT_USERPWD:環境がテスト用でBasic認証をかけているため、設定しています。 $header = array("Content-Type: application/json", "Authorization: Bearer {$access_token}"); $content = '{ "query":"{product(id:xxxx){id,name}}" }'; $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => ECCUBE_API_URL, CURLOPT_HTTPHEADER => $header, CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $content, CURLOPT_USERPWD => USER . ':' . PASSWORD )); $response = curl_exec($curl); curl_close($curl); $responseを出力すると、 Unauthorized This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required. となっており、色々とcurlの設定を組み替えてみたり試しましたが、上手くいかず。。。 お分かりの方がいらっしゃいましたら、教えていただければ幸いです。 よろしくお願いいたします! 2022/4/8 追記 色々試しましたが、GraphQLのクエリー部分を詰めたらいけたようです。 $array = array( ' ', ' ', "\r\n", "\r", "\n", "\t" ); str_replace( $array, '', $content); |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |