如何在我的localhost中使用php获取产品数据

时间:2017-12-13 11:36:42

标签: shopify shopify-app

我正在寻找一个php脚本来通过在我的localhost服务器中使用php获取shopify产品数据。我已经创建了店面api,但我们不知道如何使用api密钥调用并获取数据。

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

3 个答案:

答案 0 :(得分:1)

如果您只需要使用PHP获取产品,则可以使用他们的Rest API。

创建私人应用后,您会获得类似的网址: https://APIKEY:PASSWORD@STORENAME.myshopify.com/admin/products.json

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

从那里开始,如果你知道PHP,从这个URL中提取JSON响应将非常容易。

这就是全部。

答案 1 :(得分:1)

您可以使用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并获取数据

答案 2 :(得分:0)

使用 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();