需要为我的自定义应用程序获取当前 shopify 主题的 ID 并使用 PHP 注入代码段



我正在构建一个使用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;?>

最新更新