PHP и подключение Shopify API - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь узнать API-интерфейс shopify для проекта. Попробовал несколько вставленных кодов на их форуме, адаптируя мой код к их.

В документации говорится, что необходимо выполнить аутентификацию таким способом, указав следующее:

https: // {имя пользователя}: {пароль} @ {shop} .myshopify .com / admin / api / {api-version} / {resource}. json

  • {username} - сгенерированный вами ключ API
  • {пароль} - The Пароль API
  • {shop} - имя, которое вы ввели для своего хранилища разработки
  • {api-version} - поддерживаемая версия API, которую вы хотите использовать
  • {resource} - Конечная точка ресурса из API администратора REST

Я пытаюсь выполнить запрос GET для всех заказов, сделанных в магазине.

/ info
$API_KEY = '75c89bf******ea919ce****7702';
$PASSWORD = '2061******82d2802ff***9403';
$STORE_URL = 'porcao-na-sua-casa.myshopify.com';

$AUTHORIZATION = base64_encode($API_KEY . ':' . $PASSWORD);


$url = 'https://' . $API_KEY . ':' . $PASSWORD . '@' . $STORE_URL . '/admin/api/2020-01/orders.json';


$header = array();
$header[] = 'Accept: application/json';
$header[] = 'Content-Type: application/json';
$header[] = 'Authorization: Basic ' . $AUTHORIZATION;

$session = curl_init();

//options
curl_setopt($session, CURLOPT_URL, $url);
curl_setopt($session, CURLOPT_HTTPHEADER, $header);
curl_setopt($session, CURLOPT_GET, 1);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);

//exec
$response = curl_exec($session);
curl_close($session);

print_r($response);

// error
if($response === false)
{
    print_r('Curl error: ');
}

Код не работать вообще, без кода ошибки, полностью пустой, с отображением только первого эха проекта. Я проверил свои ключи API, и они работают, я могу вставить их вручную в chrome.

Ответы [ 2 ]

0 голосов
/ 24 марта 2020

Обнаружил проблему при запуске в терминале, не установил php -curl на эту машину. Решение @Kshitij сработало, как и мое, при правильной установке curl.

0 голосов
/ 23 марта 2020

Вам не нужен заголовок для авторизации. Ваш код должен понравиться:

$API_KEY = '75c89bf******ea919ce****7702';
$PASSWORD = '2061******82d2802ff***9403';
$STORE_URL = 'porcao-na-sua-casa.myshopify.com';

$url = 'https://' . $API_KEY . ':' . $PASSWORD . '@' . $STORE_URL . '/admin/api/2020-01/orders.json';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');


$headers = array();
$headers[] = 'Content-Type: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE) //can check status code, requst successfully processed if return 200
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...