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

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

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

Войти через центр авторизации
Похожие вопросы