我正在寻找一个 php 脚本,通过在我的 localhost 服务器中使用 php 来获取 shopify 产品数据。我已经创建了店面 api,但不知道我们将如何使用 api 密钥调用和获取数据。
我阅读了很多与此相关的文档,但没有对 php 进行任何探索。 https://help.shopify.com/api/storefront-api/getting-started#using-curl 如果有人知道,请帮助我。
我正在寻找一个 php 脚本,通过在我的 localhost 服务器中使用 php 来获取 shopify 产品数据。我已经创建了店面 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 admin api 发出简单的 curl 请求以获取产品详细信息
请求模式
https://{api_key}:{shared_secrete}@shop_url.myshopify.com/admin/products.json
在这里,我使用 Guzzle(PHP HTTP 客户端)来创建 curl 请求。
但是,您也可以通过 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 格式的产品详细信息
但是,请记住,这仅适用于公共应用程序的私有应用程序,您需要来自 shopify API 的访问令牌,同时在商店上安装应用程序后在回调中发送。将其保存在本地数据库中。在对 API 的每个请求中附加此令牌并获取数据
使用 Guzzle 从公共 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();