无法连接到Shopify API php

时间:2014-07-07 08:09:42

标签: php api shopify

我的PHP技能包括基本的循环和函数。我是一个HTML,CSS和Javascript的人。

使用PHP连接API(或者只是连接到一般的API)不是我以前做过的事情。

我正在尝试连接Shopify API。他们关于PHP的文档非常不足。我只从他们的文档中获得了this

<?php
  //Modify these
  $API_KEY = 'your-token-here';
  $SECRET = 'your-secret-here';
  $TOKEN = 'your-secret-here';
  $STORE_URL = 'yourestore.myshopify.com';
  $PRODUCT_ID = 'product-id-here';

  $url = 'https://' . $API_KEY . ':' . md5($SECRET . $TOKEN) . '@' . $STORE_URL . '/admin/products/' . $PRODUCT_ID . '.xml';

  $session = curl_init();

  curl_setopt($session, CURLOPT_URL, $url);
  curl_setopt($session, CURLOPT_HTTPGET, 1); 
  curl_setopt($session, CURLOPT_HEADER, false);
  curl_setopt($session, CURLOPT_HTTPHEADER, array('Accept: application/xml', 'Content -Type: application/xml'));
  curl_setopt($session, CURLOPT_RETURNTRANSFER, true);

  if(ereg("^(https)",$url)) curl_setopt($session,CURLOPT_SSL_VERIFYPEER,false);

  $response = curl_exec($session);
  curl_close($session);

  $product_xml = new SimpleXMLElement($response); 

  echo $product_xml->title;
  echo $product_xml->variants->variant->{'inventory-quantity'};
?>

我在第一部分遇到问题。我知道$API_KEY$SECRET$TOKEN,但$STORE_URL$PRODUCT_ID给了我麻烦。
尽管$STORE_URL似乎是合乎逻辑的,但我应该为我创建app(插件)的商店的url,因为API应该知道从哪里获取信息。但我对填写它是犹豫不决,因为应用程序应该是公开的。我的想法是,URL应该可以变化到下载应用程序的商店的网址。我找不到任何答案 至于$PRODUCT_ID,我甚至都不知道那可能是什么。我没有在API密钥旁边提供任何产品ID。 shopify商店中的产品每个都有自己的ID,但对我而言,API似乎不应该将自己绑定到一个产品上。

我不是完全技术性的,但是我无法绕过这个问题。特别是因为缺乏文件。

Shopify does provide some libraries,但对于像我这样的人来说,文档还不够。

有人可以为我照亮吗?

1 个答案:

答案 0 :(得分:0)

您似乎可以通过商店管理员创建API密钥:

  1. 从您的商店管理员处,转到“应用”页面。

  2. 向下滚动到页面底部。在底部,您应该看到以下内容:

  3. 点击私有API密钥链接。

  4. 如果这是您第一次,请点击生成新的私人应用

  5. 添加标题,然后点击保存。

  6. 将为您生成新的API密钥。它应该与此

  7. 类似

    更多信息和屏幕截图:Shopify - API key

    STORE_URLyourestore.myshopify.comhttp://yourestore.myshopify.com - 您需要同时检查两者(我认为它是第二个)

    PRODUCT_ID是您想要获取数据的产品ID:

      

    product_id:产品的唯一数字标识符。

    所以您应该从商店管理面板检查您的商品ID。如果您不知道/不知道如何操作,可以先在网址中使用/admin/products.json获取产品列表。

    还有一件事 - 您确定您还可以获取XML格式的数据吗?以http://docs.shopify.com/api/product为例,JSON中只有网址

    http://docs.shopify.com/api/product