Вы не можете загрузить фотографию с URL-адреса, она даже не считается "загрузкой", поскольку вы на самом деле не загружаете фотографию, просто укажите URL-адрес.
Что вам нужно сделать, так эточтобы получить фактические данные изображения и отправить их себе в Facebook через POST-запрос к этому URL:
https://graph.facebook.com/ALBUM_ID/photos
с параметрами: message и source .
Если у вас нет локального изображения на сервере, вам нужно будет загрузить его, прочитать его содержимое и затем опубликовать на Facebook.
Редактировать
Благодаря комментарию @TommyBs, я вижу, что невозможно загрузить через URL.Я оставлю ответ, так как он говорит об альтернативе.
2nd Edit
Если вы хотите загрузить несколько изображений, у вас есть 2 варианта (как я вижу):
(1) Используйте Пакетные запросы , предоставленные Facebook.Вам нужно будет проверить, работает ли этот конкретный метод, я понятия не имею, поскольку я никогда не пытался загрузить изображение на Facebook с помощью URL.
(2) Отправить запрос на изображение, что-то вроде:
function uploadPicture($albumId, $photoUrl, $message, $token) {
$url= "https://graph.facebook.com/"
. $albumId . "/photos?"
. "url=" . urlencode($photoUrl)
. "&message=" . urlencode($message)
. "&method=POST"
. "&access_token=" . $token;
return file_get_contents($url);
}
Затем просто используйте эту функцию с другими параметрами.