Shopify API — загрузка изображений с переполнением стека

Я пытаюсь загрузить изображение в магазин shopify с помощью PHP через API, но оно не работает.

$images = array
(
"image"=>array
(
"attachment" => $borderedImage,
"filename" => "rails_logo.jpg")
);

# Making an API request can throw an exception
$products = $shopify('POST /admin/products/#1246990273/images.json', $images);

Однако вместо получения значения NULL в журналах ошибок появляется следующее сообщение

[2015-07-17 23:14:57] local.INFO: <html><body>You are being <a href="https://SHOPNAME.myshopify.com/admin/auth/login">redirected</a>.</body></html>

Я думал, что это проблема с моим токеном доступа или ключом API, но я могу сделать другие вызовы API для таких вещей, как получение списка продуктов и создание нового продукта. Это просто создание нового образа, который создает проблемы.

Очень сложно получить какую-либо информацию, так как не многие люди, кажется, создают приложения PHP для шопифина.

Кто-нибудь еще успешно загрузил изображение в API с помощью приложения PHP?

2

Решение

Вот пример. Это предполагает, что вы используете токен доступа, полученный через OAuth (а не из личное приложение) и что вы хотите загрузить изображение с URL-адреса. Токен доступа, URL магазина и идентификатор продукта необходимо поменять местами самостоятельно. Вы можете найти документацию по Product Image API здесь. Надеюсь это поможет!

<?php
$token = 'youraccesstoken';
$ch = curl_init("https://yourstore.myshopify.com/admin/products/934765124/images.json");
$image = json_encode(array('image'=> array('src' => 'https://cdn.shopify.com/shopify-marketing_assets/static/shopify-default.png')));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $image);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: application/json",
"X-Shopify-Access-Token: $token"));
$result = curl_exec($ch);
0

Другие решения

GLOBAL $token ='put token';
GLOBAL  $store_name = 'put store name';

$value = 'put your product of array';
$valuemetafield = array(
array(
'namespace' => 'Product Parent Style',
'key' => $value['ParentStyle'],
'value' => 'value',
'value_type' => 'string'
)
);
$value['metafields'] = $valuemetafield;

$ch1 = curl_init("https://".$store_name.".myshopify.com/admin/products.json");
$create_product = json_encode(array ('product' => $value));
curl_setopt($ch1, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch1, CURLOPT_POSTFIELDS, $create_product);
curl_setopt($ch1, CURLOPT_HTTPHEADER, array (
"Content-Type: application/json",
"X-Shopify-Access-Token: $token"));
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);

$result = curl_exec($ch1);
$savedProductArray = json_decode($result, TRUE);
$savedProduct = $savedProductArray['product'];
-1

По вопросам рекламы [email protected]