从应用上传照片到Facebook相册

时间:2011-06-06 03:07:23

标签: php facebook facebook-graph-api

我用过

'req_perms' => 'publish_stream,status_update'

我得到的错误是

  

致命错误:未捕获CurlException:26:在第589行创建在facebook.php中抛出的formpost数据失败

我的上传代码:

$facebook->setFileUploadSupport(true);
$args = array('message' => 'My Friend\'s');
$args['image'] = '@' . realpath('http://mysite/img/img.jpg');
$data = $facebook->api('/me/photos', 'post', $args);
print_r($data);

我只想将照片上传到现有相册或已创建的相册。工作代码是什么?

另一个代码

$photo_details = array('message'=>$_REQUEST['arttitle'],'source'=> '@' . realpath( $_FILES[file]tmp_name]));
$facebook->api('/me/photos','POST',$photo_details);

结果

  

致命错误:未捕获OAuthException:(#324)需要在第522行的facebook.php中抛出上传文件

我尝试了Stack Overflow的其他答案,但在我的案例中都没有。

3 个答案:

答案 0 :(得分:5)

我尝试了下面的代码,但效果很好。

$facebook->setFileUploadSupport(true);

$album_details = array(
    'message'=> 'album description goes here',
    'name'=> 'album name goes here'
);
$create_album = $facebook->api('/me/albums', 'post', $album_details);

// Upload a picture
$photo_details = array(
    'message'=> 'photo description'
);
$photo_details['image'] = '@' . realpath('/the/path/to/your/image.jpg');
$upload_photo = $facebook->api('/'.$create_album['id'].'/photos', 'post', $photo_details);

echo $upload_photo['id']; // The id of your newly uploaded pic.

答案 1 :(得分:1)

您无法将realpath()与网址一起使用。如果映像位于同一服务器上,请尝试提供该路径。有关详细信息,请参阅此answer

答案 2 :(得分:0)

$args = array(  
    'message' => 'My Friend\'s',  
    "access_token" => "urtoken",  
    "image" => '@' . realpath('http://mysite/img/img.jpg'); 
);  


$data = $facebook->api('/me/photos', 'post', $args);

试试这段代码