Есть ли способ изменить изображение профиля пользователя с помощью графика api?
Я знаю, что вы не можете с остальным api (ссылка), но я ничего не мог найти в новом графике api.
Есть ли способ изменить изображение профиля пользователя с помощью графика api?
Я знаю, что вы не можете с остальным api (ссылка), но я ничего не мог найти в новом графике api.
Загрузите изображение в существующий альбом (или создайте новый) с помощью 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>";
}
PicBadges приложение выполняет эту работу четко. Просто взгляните на их приложение. Его довольно ясно, как они реализованы.
Они не могут напрямую загружать фотографии в альбом "Профильные фотографии". Вместо этого они загружают, как обычно, в свой автоматически сгенерированный альбом (по имени своего приложения), а затем выбирают pic как "profile pic". Однако этот метод включает перенаправление пользователей на страницу, где они должны обрезать его, прежде чем сделать это.
Интересная реализация для заметок!
Вы можете загрузить в фотоальбом профиля пользователя с помощью Graph API, но, похоже, вы не можете обновить значение /me/picture, чтобы установить текущий образ профиля пользователя на загруженное изображение.