我正在使用PHP构建shopify应用程序。我需要获取当前主题的ID,其次我需要注入片段。我不确定如何使用Shopify Assests / Api。有人可以帮助我解决这些问题
答案 0 :(得分:0)
Shopify会为您提供标有“主题”的端点。用它来查询商店中的所有主题。您可以将它们作为主要或当前主题进行检查。找到主要的已发布主题后,您可以使用该主题的ID来获取GET和POST资产,例如您的代码段。
至于不确定如何对Shopify API进行安全的Rest调用,有一百万个教程向您展示如何做到这一点。 Shopify与此方面的任何其他主要网站资产相同。没有什么比在那里学习更疯狂但是oAuth。
答案 1 :(得分:0)
以下是我正在使用的代码请让我纠正。
<?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;?>