shopify 如何在我的本地主机中使用 php 获取产品数据

shopify how to get product data using php in my localhost

我正在寻找一个 php 脚本来通过在我的本地主机中使用 php 获取 shopify 产品数据 server.I 已经创建了店面 api 但不知道关于我们将如何使用 api 键调用并获取数据。

我阅读了很多与此相关的文档,但没有探索 php。 https://help.shopify.com/api/storefront-api/getting-started#using-curl 如果有人知道,请帮助我。

如果您只需要获得 PHP 的产品,您可以简单地使用他们的 Rest API。

创建私人应用程序后,您会得到类似的 URL: https://APIKEY:PASSWORD@STORENAME.myshopify.com/admin/products.json

您需要将 APIKEY、PASSWORD 和 STORENAME 替换为您自己的。

从那里开始,如果您知道 PHP,将很容易从这个 URL.

中提取 JSON 响应

就是这样。

您可以使用 shopify 发出简单的 curl 请求以获取产品详细信息 管理员 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';

 $client = new \GuzzleHttp\Client();

 $response = $client->request('GET', $requestUrl, [
    'headers' => [
        'Content-Type' => 'application/json',
        'Accept' => 'application/json'
     ]
 ]);

 $products = json_decode($response->getBody());

因此,您将在此处获得 json 格式的产品详细信息

但是,请记住,这仅适用于私人应用程序,仅适用于 public 应用程序,您需要来自 shopify API 的访问令牌,同时在应用程序安装到商店后的回调中发送。将其保存在本地数据库中。在每个请求中将此令牌附加到 API 并获取数据

使用 Guzzle 从 public APP 获取产品列表的最简单解决方案:

$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();