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

shopify如何在我的本地主机中使用php获取产品数据,shopify,shopify-app,Shopify,Shopify App,我正在寻找一个php脚本,通过在本地主机服务器中使用php获取shopify产品数据。我已经创建了storefront api,但不知道如何使用api键调用和获取数据 我读了很多与php相关的文档,但没有任何关于php的内容。 如果有人知道,请帮助我。如果您只需要使用PHP获取产品,只需使用他们的Rest API即可 创建私人应用程序后,您会得到一个类似的URL: https://APIKEY:PASSWORD@STORENAME.myshopify.com/admin/products.jso

我正在寻找一个php脚本,通过在本地主机服务器中使用php获取shopify产品数据。我已经创建了storefront api,但不知道如何使用api键调用和获取数据

我读了很多与php相关的文档,但没有任何关于php的内容。
如果有人知道,请帮助我。

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

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

您需要将您的APIKEY、密码和STORENAME替换为您自己的

从那时起,如果您了解PHP,那么从这个URL获取JSON响应将非常容易


就这些

如果您只需要使用PHP获取产品,那么只需使用他们的RESTAPI即可

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

您需要将您的APIKEY、密码和STORENAME替换为您自己的

从那时起,如果您了解PHP,那么从这个URL获取JSON响应将非常容易


就这些

您可以使用shopify发出简单的卷曲请求以获取产品详细信息 管理api

请求模式

https://{api_key}:{shared_secrete}@shop_url.myshopify.com/admin/products.json
这里我使用(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格式的产品详细信息


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

您可以使用shopify发出简单的curl请求以获取产品详细信息 管理api

请求模式

https://{api_key}:{shared_secrete}@shop_url.myshopify.com/admin/products.json
这里我使用(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格式的产品详细信息


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

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

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

这是询问密码,但在放入正确的凭证后,其询问凭证一次又一次,原因可能是什么?我的shopify商店中有一个私人应用程序。虽然在我登录商店管理员的同一窗口中打开url时能够找到结果。@akgola创建应用程序时,在密码下方和共享机密上方有一个示例url,但请使用该示例并尝试打开它。(最后它将有
orders.json
,只是将其更改为
products.json
),因为您似乎复制/粘贴了错误的凭据。当存储用户未登录时,这将重定向到登录页面。需要帮助。这是询问密码,但在放入正确的凭据后,它的询问凭据一次又一次,原因可能是什么?我的shopify商店中有一个私人应用程序。虽然在我登录商店管理员的同一窗口中打开url时能够找到结果。@akgola创建应用程序时,在密码下方和共享机密上方有一个示例url,但请使用该示例并尝试打开它。(最后它将有
orders.json
,只是将其更改为
products.json
),因为您似乎复制/粘贴了错误的凭据。当存储用户未登录时,这将重定向到登录页面。我需要帮助。