【问题标题】:adding script tag in shopify using php使用php在shopify中添加脚本标签
【发布时间】:2019-06-09 17:16:22
【问题描述】:

我们正在使用this GitHub PHP library 使用脚本标签将 javascript 添加到 shopify 页面的头部,但我们卡在了某个地方,

它重定向良好。当我们单击安装时,我们也会转到应用程序屏幕以获得许可,它会重定向到重定向页面并给出错误。在我的错误日志中。

未捕获的 PHPShopify\Exception\ApiException: script_tag - 预期 Array 是 Hash in

这是我们的应用代码

<?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)));

?>

这是我们的重定向链接代码

<?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)));

?>

如果预期 Array 是 Hash,我们如何避免这个错误?

任何帮助都会很棒。

【问题讨论】:

  • 也许你应该在 GitHub 页面上提出这个问题。

标签: php shopify


【解决方案1】:

通过查看库副本中的函数,检查您是否将正确的参数传递给$shopify-&gt;ScriptTag-&gt;post()。不同版本的库和文档可能有所改变。

检查这些参数的顺序是否正确。 检查您传递的所有数组是否实际上都不是对象。 检查是否有任何数组需要包装在另一个数组中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-27
    • 1970-01-01
    相关资源
    最近更新 更多