Подтвердить что ты не робот

Как установить изображение профиля facebook с помощью графика api

Есть ли способ изменить изображение профиля пользователя с помощью графика api?

Я знаю, что вы не можете с остальным api (ссылка), но я ничего не мог найти в новом графике api.

4b9b3361

Ответ 1

Загрузите изображение в существующий альбом (или создайте новый) с помощью Graph API. Будет выглядеть примерно так:

  $args = array('message' => 'Caption');
  $args['image'] = '@' . realpath("the_image.png");

  try {
    $data = $facebook->api('/'.$album_uid.'/photos', 'post', $args);
  }
  catch(Exception $e) {
    print "<pre>";
    print_r($e);
    print "</pre>";
  }

Затем загрузите изображение с помощью API-интерфейса Graph и перенаправите его на ссылку изображения, добавьте &makeprofile=1 в строку запроса. Теперь пользователь будет перенаправлен на страницу обрезки изображения профиля:

try {
  $pictue = $facebook->api('/'.$data['id']);
  header("Location: ".$pictue['link']."&makeprofile=1");
}
catch(Exception $e) {
  print "<pre>";
  print_r($e);
  print "</pre>";
}

Ответ 2

PicBadges приложение выполняет эту работу четко. Просто взгляните на их приложение. Его довольно ясно, как они реализованы.

Они не могут напрямую загружать фотографии в альбом "Профильные фотографии". Вместо этого они загружают, как обычно, в свой автоматически сгенерированный альбом (по имени своего приложения), а затем выбирают pic как "profile pic". Однако этот метод включает перенаправление пользователей на страницу, где они должны обрезать его, прежде чем сделать это.

Интересная реализация для заметок!

Ответ 3

Вы можете загрузить в фотоальбом профиля пользователя с помощью Graph API, но, похоже, вы не можете обновить значение /me/picture, чтобы установить текущий образ профиля пользователя на загруженное изображение.