Shopify, как получить данные о продукте, используя php в моем localhost
Я ищу php-скрипт для получения данных о продукте с помощью php на моем локальном сервере. Я уже создал API для витрины магазина, но не знаю, как мы будем вызывать с помощью API-ключа и получать данные.
Я прочитал много документов, которые связаны с тем же, но ничего не исследовать для php. https://help.shopify.com/api/storefront-api/getting-started Если кто-нибудь знает об этом, пожалуйста, помогите мне.
3 ответа
Вы можете сделать простой запрос для получения подробной информации о продукте, используя shopify admin api
Шаблон запроса
https://{api_key}:{shared_secrete}@shop_url.myshopify.com/admin/products.json
Здесь я использую, Guzzle (PHP HTTP клиент) для создания curl reuqest.
Но вы также можете сделать запрос curl, чтобы сделать вызов API
приведу один пример
$requestUrl = 'https://'.$username.':'$password.'@'.$shop_domain. '/admin/products.json';
$request = new \GuzzleHttp\Client();
$request->request('GET', $requestUrl, [
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json'
]
]);
$products = json_decode($response->getBody());
Итак, здесь вы получите детали продукции в формате JSON
Но помните, что это для частного приложения только для общедоступного приложения, вам нужен токен доступа из shopify API при отправке в обратном вызове после установки приложения в магазине. сохранить его в вашей локальной базе данных. прикрепите этот токен в каждом запросе к API и получите данные
Если вам нужно получить Продукты только с помощью PHP, вы можете просто использовать их Rest API.
Создав приватное приложение, вы получаете похожий URL: https://APIKEY:PASSWORD@STORENAME.myshopify.com/admin/products.json
Где вам нужно будет заменить свой APIKEY, PASSWORD и STORENAME своим собственным.
И с этого момента, если вы знаете PHP, будет очень легко получить ответ JSON с этого URL.
Это все.
Самое простое решение для получения списка продуктов из общедоступного приложения с помощью Guzzle:
$url = "https://{$shopId}.myshopify.com/admin/api/2021-04/products.json";
$client = new GuzzleHttp/Client();
$headers = [
'X-Shopify-Access-Token' => $oauthToken,
'Content-Type' => 'application/json',
];
$response = $client->get($url, ['verify' => false, 'headers' => $headers]);
return (string) $response->getBody();