【问题标题】:FB upload photo from application and post it to user's wallFB从应用程序上传照片并将其发布到用户的墙上
【发布时间】:2011-03-14 10:53:51
【问题描述】:

我对 Facebook API 有疑问。我创建了一个应用“截图提交”,从提交截图的概念来看,场景是:

  1. 在用户允许我的应用程序之后。
  2. 用户将使用表单选择要上传到应用程序的文件,然后提交。
  3. 我想将所选文件(图像/照片)上传到他/她的相册(从应用程序自动生成)并将文件(图像/照片)发布到他/她的墙上。

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

上面的代码会将照片上传到自动生成的相册中,并返回一个数组,如:

Array([id]=1234567890)

现在,如何使用 php.sdk 和 graph api 将上传的文件(图像/照片)发布到他/她的墙上。

任何帮助将不胜感激。谢谢。

【问题讨论】:

  • 您的代码理论上假设您实际上正确设置了source 参数,也应该将提要发布到用户墙..
  • 该代码正在运行,因为图像已上传到用户的相册但处于待处理模式。用户墙中没有提要/帖子。
  • 它现在可以工作了...谢谢。无论如何@ifaour 除了'message'和'source'之外,使用 $facebook->api('/me/photos','POST',$photo_details) 允许使用哪些参数?
  • here 是完整的参数列表

标签: php facebook facebook-graph-api


【解决方案1】:

首先取得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);

【讨论】:

  • 感谢这个精彩的回复,一件事是我怎么知道用户上传照片的图片链接。我不想在我的服务器上上传照片。
  • $pictureupload in from of picture 有那个链接
  • 你是对的,但我有问题如何在用户的 facebook 相册中获取上传图片的 URL,就像我上面所说的那样。
  • 获取user_photos的扩展权限,查询照片表,获取所有照片信息。
  • 通过在应用程序身份验证时请求扩展权限“publish_stream”来获得解决方案。谢谢。
【解决方案2】:

上传照片后,你会得到“照片的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,用作缩略图。用户必须是照片的所有者,并且照片不能作为邮件附件的一部分。

【讨论】:

    猜你喜欢
    • 2011-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多