Taras_Serevann
@Taras_Serevann
веб-разработчик, автор

Как загрузить аватар через вконтакте api?

Здравствуйте! Не выходит установить картинку на аватар через API.
Загружаю вот таким кодом:

// Получаем картинку
$image = file_get_contents('site.com/image.jpg');
// Пытаемся загрузить картинку на сревер ВК (для дальнейшей установки на аватар)
if ($curl = curl_init()) {
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, array('photo' => $image));
curl_setopt($curl, CURLOPT_URL, $uploadUrl);
$out = curl_exec($curl);
echo $out;
curl_close($curl);
}

Но метод photos.saveOwnerPhoto возвращает "Invalid photo: no "file" file, from upl_620525?act=owner_photo". В чем может быть проблема? Возможно, есть готовый php код, где реализована загрузка на ВК? Заранее спасибо.
  • Вопрос задан
  • 4601 просмотр
Решения вопроса 1
@SweetLemonade
Все просто.

1. Получаем ссылку для загрузки изображения photos.getOwnerPhotoUploadServer.
2. По этой ссылке формируем POST запрос и добававляем параметр photo. Но тут момент: строка должна являться путем до изображения, пример: @/path/to/file/image.jpg. Символ "@" тут не просто так.
3. Далее полученные данные используем для запроса photos.saveOwnerPhoto.
4. Аватар обновлен.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы