Shopify Script tag api return 400 Ошибка HTTP

1

Ошибка получения ошибки HTTP 400, когда я сделал запрос на скриптовый тег для создания скрипта.

HTTP/1.1 400 Bad Request
Server: nginx
Date: Sat, 06 Feb 2016 22:16:00 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Status: 400 Bad Request
X-Frame-Options: DENY
X-ShopId: 11511010
X-ShardId: 2
X-Shopify-Shop-Api-Call-Limit: 1/40
HTTP_X_SHOPIFY_SHOP_API_CALL_LIMIT: 1/40
X-Stats-UserId: 0
X-Stats-ApiClientId: 1253884
X-Stats-ApiPermissionId: 17250892
X-XSS-Protection: 1; mode=block; report=/xss-report/30fa40b7-e2b9-44a1-b6ef-a3b43b8b95e3?source%5Baction%5D=create&source%5Bcontroller%5D=admin%2Fscript_tags&source%5Bsection%5D=admin
X-Request-Id: 30fa40b7-e2b9-44a1-b6ef-a3b43b8b95e3
X-Dc: chi2,ash

{"errors":{"script_tag":"Required parameter missing or invalid"}}

Вот мой код:

$request_headers[] = "X-Shopify-Access-Token:".$token_id;
$request_headers[] = "Content-Type : application/json";

$ch = curl_init('https://revestore.myshopify.com/admin/script_tags.json');
curl_setopt($ch , CURLOPT_HEADER, TRUE);
curl_setopt($ch , CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch , CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch , CURLOPT_MAXREDIRS, 3);
curl_setopt($ch , CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch , CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch , CURLOPT_TIMEOUT, 30);
curl_setopt($ch , CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch , CURLOPT_POSTFIELDS, $args); 
curl_setopt($ch , CURLOPT_HTTPHEADER, $request_headers);

$response = curl_exec($ch);
curl_close($ch);            
print_r($response);

Если кто-то знает относительное решение, пожалуйста, помогите мне. Заранее спасибо.

  • 0
    Я не думаю, что это проблема php, попробуйте запрос с помощью командной строки curl, и когда он заработает, вам будет легко перенести его в php
  • 0
    Эта ошибка может быть вызвана тем, что $args либо пропускает поле script_tag либо содержит script_tag поле. Таким образом, вы в основном дали нам все, кроме важного бита - значения $args .
Показать ещё 2 комментария
Теги:
curl
shopify

2 ответа

1

Если вы хотите создать новый ресурс ScriptTag, единственными параметрами /$ args, которые вам нужны, являются event и src.

Установка id - это то, что я думаю, вызывает проблему

(Кроме того, потеряет created_at и updated_at, который должен быть создан Shopify при создании/изменении ресурса соответственно)

Документация по созданию ресурса ScriptTag: https://docs.shopify.com/api/uiintegrations/scripttag#create

  • 0
    Да, я также пытался использовать только src и event. Но не работает. вот мой JSON: $ args = '{"script_tag": {"event": "onload", "src": " alliedshades.com/my_custom.js "}}';
0

Решите мою проблему. Здесь все в порядке. Просто нужно http_build_query ($ query_string); для обработки строки JSON.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню