1
私はcronジョブで実行するスクリプトを作成しています。GET json with authentication API key
いくつかのjson注文を取得して処理することが推奨されています。現時点では
私のスクリプトは次のようになります。
$json_string = '/admin/orders/7109.json';
$real_url = "https://my-store.myshopify.com{$json_string}";
$user = 'my-user';
$pass = 'my-pass';
$ch = curl_init($real_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, $user . ':' . $pass);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
$result = json_decode(curl_exec($ch),true);
curl_close($ch);
file_put_contents(__DIR__ . '/../debug/tracker_test.txt', print_r($result,true));
私は私の資格情報が正しいさえカントーコードファイルに書き込まれ、これを取得しています。
Array
(
[errors] => [API] Invalid API key or access token (unrecognized login or wrong password)
)
私に何か不足していますか?
編集:Shopifyのプライベートアプリのセクションでは、それは、例えば、URL形式を与える:
https://apikey:[email protected]/admin/resource.json
はだから今スクリプトは次のようになります。
$json_url = 'https://my-api-key:[email protected]/admin/orders.json';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $real_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
が、私はまだ同じを取得していますエラー。
はよさそうだ、私はこのようなユーザ名とパスワードを送信しよう...と言うでしょうしますcurl_setopt ($ ch、CURLOPT_URL、$ url); – dquinonez
'' {$ username}:{$ password} ''を意味しますか? – Onilol
また、curl_exec($ ch)の出力を最初に変数に入れてから、その変数をエンコードしてみてください。他にも、何らかのトークンを送る必要があるかもしれません。ここのようにhttp://stackoverflow.com/questions/30426047/correct-way-to-set-bearer-token-with-curl – dquinonez