创建一个新的脚本标记(Shopify)错误:无效的URI“/”

时间:2017-11-15 04:30:15

标签: shopify shopify-app

基于this教程,我尝试了以下代码。我正在尝试向网页添加新脚本。

request.post(accessTokenRequestUrl, {
      json: accessTokenPayload
  })
  .then((accessTokenResponse) => {
          const accessToken = accessTokenResponse.access_token;
          // DONE: Use access token to make API call to 'shop' endpoint
          const shopRequestUrl = 'https://' + shop + '/admin/shop.json';
          const shopRequestHeaders = {
              'X-Shopify-Access-Token': accessToken,
              'Content-Type': 'application/json'
          };


          const createScriptTagUrl = 'https://' + shop + '/admin/script_tags.json';
          const scriptTagBody = {
              "script_tag": {
                  "event": "onload",
                  "src": "https:\/\/djavaskripped.org\/fancy.js"
              }
          }

          request.get(shopRequestUrl, {
                  headers: shopRequestHeaders
              })
              .then((shopResponse) => {
                  res.status(200).end(shopResponse);
              })
              .catch((error) => {
                  res.status(error.statusCode).send(error.error.error_description);
              });
          request.post(createScriptTagUrl, {
                  json: scriptTagBody
              }, {
                  headers: shopRequestHeaders
              })
              .then((scriptResponse) => {
                  res.status(200).end(scriptResponse);
              })
              .catch((error) => {
                  res.status(error.statusCode).send(error.error.error_description);
              });

但是,我得到RequestError: Error: Invalid URI "/"

我错过了什么吗?或者src值是否有问题?

2 个答案:

答案 0 :(得分:0)

我认为您使用get方法创建脚本标记而不是发布。请使用post方法,并从src中删除\。

由于

答案 1 :(得分:0)

使用以下代码修复。基本上,请求体应该作为JSON发送。

request.post({
    url: createScriptTagUrl,
    body: scriptTagBody,
    headers: shopRequestHeaders,
    json: true
}, function(error, response, body) {
    if (!error) {
        console.log(body)
    }
});