Как отправить загрузить фото в сообщения через VK API?
Я делаю так:
P.S. Utils -> это отдельный класс, который отвечает за выполнение запросов
1. Получаю URL для загрузки моей фоточки
//CODE
$server = Utils::requestMsg("photos.getMessagesUploadServer", ['access_token' => $token, 'user_id' => 123456789]);
//CODE Utils
public static function requestMsg($method, $params, $customURL = false) {
$curl = curl_init(($customURL ? $customURL : 'https://api.vk.com/method/') . $method);
$params['v'] = '5.59';
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($params));
$answer = json_decode(curl_exec($curl), true);
return $answer;
curl_close($curl);
}
2. Отправляю на полученный адрес запрос с фото
//CODE
$img = "https://pp.vk.me/c9620/g28551727/d_93b73059.jpg";
$params = ['file1' => '@'.$img];
$main = Utils::requestPhoto($server['response']['upload_url'], $params);
//CODE Utils
public static function requestPhoto($url, $params, $customURL = false) {
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true );
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false );
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false );
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
$resp = curl_exec($curl);
return $resp;
curl_close($curl);
}
В итоге должен получить 3 параметра, для загрузки фото в сообщение, но получаю всего лишь 2...
//Пример того что получаю
"{"server":604320,"photo":"[]","hash":"1019b9b1d22c958f4de7caed11380785"}"
В чем проблема? Помогите пожалуйста, уже мучаюсь с этим долгое время...