我正在尝试使用 PHP 创建 Facebook 事件。我遇到的最后一个问题是个人资料图片。
我的问题是:
我可以使用外部图片网址作为活动资料图片吗?
如果是,比如何?
问问题
345 次
2 回答
2
您将无法实际使用该 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);
于 2013-05-08T21:30:58.393 回答
0
因此,来自 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);
如果您有一些问题,请写信给我。
于 2013-05-10T00:11:10.130 回答