我正在构建一个使用PHP的应用程序。我需要获取当前主题的ID,其次我需要注入摘要。我不确定如何使用Shopify Assests/API。有人可以帮助我解决这些问题
Shopify为您提供标记为主题的端点。用它来查询商店中的所有主题。您可以将它们检查为主要主题或当前主题。一旦找到了主要的,已发布的主题,就可以使用该主题的ID来获取和发布资产,例如摘要。
为了不确定如何向Shopify API拨打安全的休息电话,有一百万个教程向您展示了如何做到这一点。在这方面,Shopify与任何其他主要的Web属性相同。除了Oauth,还没有疯狂地学习。
这是我使用的代码,请让我正确。
<?php $url = 'https://' . $API_KEY . ':' . md5($SECRET . $TOKEN) . '@' . $shop . '/admin/themes/155035395/assets.json';
$session = curl_init($url);
$asset = array('asset'=> array(
'key' => 'snippets/newasset.liquid',
'value' => '{% comment %} here is your new snippet {% endcomment %}'
));
curl_setopt($session, CURLOPT_HEADER, true);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
curl_setopt($session, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($session, CURLOPT_MAXREDIRS, 3);
curl_setopt($session, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($session, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($session, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($session, CURLOPT_TIMEOUT, 30);
curl_setopt($session, CURLOPT_CUSTOMREQUEST, "PUT");
//curl_setopt($session, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($session, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json', 'X-Shopify-Access-Token: ' . $TOKEN));
curl_setopt($session, CURLOPT_POSTFIELDS, json_encode($asset));
$result = curl_exec($session);
if(ereg("^(https)",$url)) curl_setopt($session,CURLOPT_SSL_VERIFYPEER,false);
$r = curl_getinfo($session);
echo "<pre>";
print_r($r);
$result = curl_exec($session);
if ( curl_errno($session) ) {
$result = 'cURL ERROR -> ' . curl_errno($session) . ': ' . curl_error($session);
} else {
$returnCode = (int)curl_getinfo($session, CURLINFO_HTTP_CODE);
switch($returnCode){
case 200:
break;
default:
$result = 'HTTP ERROR -> ' . $returnCode;
break;
}
}
curl_close($session);
echo $result;?>