Задать вопрос
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 код, где реализована загрузка на ВК? Заранее спасибо.
  • Вопрос задан
  • 4606 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@SweetLemonade
Все просто.

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽