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 код, где реализована загрузка на ВК? Заранее спасибо.
  • Вопрос задан
  • 4595 просмотров
Решения вопроса 1
@SweetLemonade
Все просто.

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽