Делаю постер товаров в Одноклассники. Все права получены, использую вечный токен доступа. API работает проверял на множестве методов. Но возникла проблема с загрузкой фотографии к самому товару. Вот мой код:
<?php
require("./ok_lib.php");
$LOT=380143;
function load_photo($file) {
global $LOT;
$upload_url = OdnoklassnikiSDK::makeRequest("photosV2.getUploadUrl");
$id=$upload_url['photo_ids'][0];
$upload_url=$upload_url['upload_url'];
//Получение фото из cloud.bugrealt.by
$photo=str_replace('"','', shell_exec("curl -v -H 'Authorization: Token XXXXXXXXXXX' -H 'Accept: application/json; charset=utf-8; indent=4' '194.158.219.97:8000/api2/repos/972a9d27-e2a8-411a-9bea-86889c770a6f/file/?p=/".$LOT."/".$file."'"));
$path = $_SERVER['DOCUMENT_ROOT'] . '/poster/temp/temp.jpg';
file_put_contents($path, file_get_contents($photo));
//Загружаем файл на сервер OK
$ch = curl_init();
$parameters = [
'pic1' => new \CURLFile($path)
];
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type:multipart/form-data"
));
curl_setopt($ch, CURLOPT_URL, $upload_url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
preg_match_all('/.+token":"(.*)"/Uis', $response, $mach);
$token=$mach[1][0];
echo $token;
echo '<hr>';
return($token);
}
$id1=load_photo('01.JPG');
$id2=load_photo('02.JPG');
$id3=load_photo('03.JPG');
$id4=load_photo('04.JPG');
$id5=load_photo('05.JPG');
$id6=load_photo('06.JPG');
$id7=load_photo('07.JPG');
$id8=load_photo('08.JPG');
$id9=load_photo('09.JPG');
$content='{"media":[
{"type":"text","text":"Название товара"},
{"type":"text","text":"Описание товара"},
{
"type": "photo",
"list": [
{"id": "'.$id1.'"},
{"id": "'.$id2.'"}
]
},
{"type":"product","price":1000,"lifetime": 30}
]}';
echo $content.'<hr>';
$response=OdnoklassnikiSDK::makeRequest("market.add", array("gid" => "54352824500462",
"type" => "GROUP_PRODUCT",
"attachment" => $content,
));
var_dump($response);
?>
Вот что пишет:
{ ["error_code"]=> int(300) ["error_msg"]=> string(41) "NOT_FOUND : not.found.photouploadinglocal" ["error_data"]=> NULL }
Пишет что фотография не загружена на сервер, хотя мне и пришел ответ с токеном фотографии. Помогоите!
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Например у меня есть таблицы campaigns и campaign_channels, я создаю обьект Campaign и CampaignChannels, в базе создаются воответствующие записи, но когда я хочу вытянуть...
Какие есть бесплатные способы сжатия изображений при загрузке на сайт? Сайт построен на FuelPHP
Вообщем вопрос простой как в yii2 при использовании стандартного функционала прикрепить файл/файлы на лету, те