Картинка профиля события Facebook с внешнего URL


Я пытаюсь создать событие Facebook с PHP. Последняя проблема, которая у меня есть, это изображение профиля.

Мои вопросы:
Могу ли я использовать внешний URL-адрес для изображения профиля события?
Если да, то как?

2 ответа

Решение

Так что код из Lix работает только от части. Но вот полный рабочий код.

$externalImage = 'External link to image';
$tempImagePath = 'Local link to save image';
$user = 123456789; // USER ID
// save image
file_put_contents( $tempImagePath, file_get_contents( $externalImage ));
// Create data for new event
$data = array(
  'name'         => 'Event title',
  'description'  => 'Event description',
  'owner'        => $user, // user as owner of this event
  'location'     => 'Location',
  'start_time'   => '2013-05-08T11:00:00-0700',
  'end_time'     => '2013-05-09T19:00:00-0700',
  '@file.jpg'    => '@'.realpath($tempImagePath),
  'privacy_type' => 'OPEN'
);
// Create event
$eventID = $facebook->api('/'.$account.'/events', 'post', $data); 

Если у вас есть вопросы, просто напишите мне.

Вы не сможете использовать этот URL для отправки в качестве изображения профиля, но вы сможете использовать его, если сначала загрузите его на свой сервер. Просто комбинация file_get_contents() а также file_put_contents() можно скопировать поверх изображения.

$externalImage = 'http://lorempixel.com/400/200/';
$tempImagePath = 'tmp/temp_image_path.jpg';
// save remote file to the server to $tempImagePath
file_put_contents( $tempImagePath, file_get_contents( $externalImage ));
// upload the image to the event
$facebook->api("/EVENT_ID/picture", "POST", 
  array('source' => '@'. realpath($tempImagePath) )
);
// remove temp image
unlink($tempImagePath);
Другие вопросы по тегам