dongpinyao2203 2019-06-09 17:16
浏览 434
已采纳

使用php在shopify中添加脚本标记

We are using this GitHub PHP library for adding javascript in to the head of shopify pages using script tag but we have got stuck somewhere,

it redirects well. We go to app screen to get permission also when we click on install it redirects to redirect page and gives error. in my error log.

Uncaught PHPShopify\Exception\ApiException: script_tag - expected Array to be a Hash in

This is our app code

<?php
require '/home/xxx/public_html/shopify/1/vendor/autoload.php';

$config = array(
    'ShopUrl' => 'xyyy.myshopify.com',
    'ApiKey' => 'a07235d5cxx4af2239ea02fe197',
    'SharedSecret' => '7ae8a450xxxx2576cf5e7a606c3',
);

PHPShopify\ShopifySDK::config($config);
$shopify = new PHPShopify\ShopifySDK;

$scopes = array('read_orders','read_script_tags','read_products', 'write_script_tags'); 
$redirectUrl = 'https://xxxx.com/shopify/1/99.php/auth/callback';
$auth = \PHPShopify\AuthHelper::createAuthRequest($scopes, $redirectUrl);

$src = "https://xxxx.com/modules/script72paid.js";

$finalurl='https://xxxxx.myshopify.com/admin/script_tags.json'.


$shopify->ScriptTag->post(array("post"), ''.$finalurl.'', array( "script_tag" => array( "event"=>"onload", "src"=>$src)));

?>

and this is our redirect link code

<?php
require '/home/xxxxxx/public_html/shopify/1/vendor/autoload.php';


$config = array(
    'ShopUrl' => 'xxxx.myshopify.com',
    'ApiKey' => 'a07235d5cxxxxxx9ea02fe197',
    'SharedSecret' => '7ae8a45xxxxxxx76cf5e7a606c3',
);

PHPShopify\ShopifySDK::config($config);
$shopify = new PHPShopify\ShopifySDK;

$accessToken = \PHPShopify\AuthHelper::getAccessToken();

$config2 = array(
'ShopUrl' => 'xxxx.myshopify.com',
'AccessToken' => $accessToken,
);

$shopify2 = new PHPShopify\ShopifySDK($config2);


$src = "https://xxxxx.com/modules/script72paid.js";

$finalurl='https://xxxxx.myshopify.com/admin/script_tags.json'.


$shopify2->ScriptTag->post(array("post"), ''.$finalurl.'', array( "script_tag" => array( "event"=>"onload", "src"=>$src)));

?>

How do we avoid this error with expected Array to be a Hash?

Any help will be great.

  • 写回答

1条回答 默认 最新

  • doudao8283 2019-07-18 16:59
    关注

    Check that you are passing the correct parameters to $shopify->ScriptTag->post() by looking at the function in your copy of the library. Different versions of the library and documentation may have changed something.

    Check that those parameters are in the correct order. Check that all of the arrays you are passing are not actually meant to be objects. Check if any of the arrays need to wrapped in another array.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 c#:vsto,powerpoint的外接程序中换主题颜色
  • ¥15 状态机/汽车转向灯/Sateflow
  • ¥15 这个有点复杂 有没有人看看
  • ¥15 用python如何确定子孙元素在父元素中的位置
  • ¥15 obj文件滤除异常高程
  • ¥15 用mathematicas或者matlab计算三重积分
  • ¥15 Loop unrolling的runtime计算
  • ¥100 NVMe-oF的Target端,开启attr_offload后,测试失败。
  • ¥100 有偿照片马赛克去掉,保留原始数据
  • ¥15 c# winform http报错,如何解决?