我对Facebook API有疑问。我已经创建了一个应用程序“截图提交”,从提交截图的概念来看,场景是:
我想将所选文件(图片/照片)上传到他/她的相册(从应用程序自动生成)并将文件(图片/照片)发布到他/她的墙上。
$photo_details = array('message'=>$_REQUEST['arttitle'],'source'=> '@' . realpath($_FILES[file]tmp_name]));
$facebook->api('/me/photos','POST',$photo_details);
以上代码会将照片上传到自动生成的相册,并返回如下数组:
Array([id]=1234567890)
现在,如何使用php.sdk和图形api将上传的文件(图像/照片)发布到他/她的墙上。
任何帮助将不胜感激。感谢。
答案 0 :(得分:4)
首先获得publish_stream的扩展许可。然后,以下代码将有助于将照片上传到墙上
$attachment = array(
'message' => 'The message that you want to display with picture',
'name' =>'Your Application Name',
'caption' => "Caption Under the picture",
'link' => 'http://apps.facebook.com/yourapplication/',
'description' => 'Some description with picture about picture or your application',
'picture' => 'http://www.yoursite.com/somefolder/images/'.$Picturetoupload,
'method'=>'stream.publish',
'actions' => array(
array(
'name' => 'Your Application Name',
'link' => 'http://apps.facebook.com/Yourapplicationlink/'
)
)
);
$uid=$fbme['id']; // id of the user
$result = $facebook->api('/'.$uid.'/feed/','post',$attachment);
答案 1 :(得分:0)
上传照片后,您将获得“照片的object_id”作为回报。
使用“object_attachment ='object_id of the photo'在Facebook墙上发帖”
curl -F \ "access_token=..." \
-F "message=blah blah...."
-F "object_attachment=object_id of the photo" \
"https://graph.facebook.com/me/feed
http://developers.facebook.com/docs/reference/api/user/帖子部分中的更多信息。
object_attachment:用户相册中现有图片的Facebook ID,用作缩略图图像。用户必须是照片的所有者,并且照片不能成为邮件附件的一部分。