通过Graph API将图像上传到Facebook Wall / Feed

时间:2012-06-05 13:02:37

标签: facebook facebook-graph-api facebook-php-sdk facebook-wall

我正在尝试将本地图片直接上传到网页Feed(即“Wall Photos”相册)。

这是我认为应该工作的代码:

<?php
$facebook = new Facebook(array(
    'appId'  => $the_app_id,
    'secret' => $this_app_secret,
));
$facebook->setAccessToken($the_access_token);
$facebook->setFileUploadSupport(true);

$attachment = array(
    'message' => $the_post_body,
    'name' => $this_image_name,
    'picture' => '@' . $the_absolute_path_to_image
);

$result = $facebook->api('/me/feed, 'post', $attachment);

但是这段代码只产生一个带有“消息”内容的纯文本墙帖(即图片字段似乎被忽略)。我也尝试了“/ page_id / feed”,结果相同。

现在,只需将端点更改为“/ me / photos”,就会将照片上传到带有应用程序名称的“普通”相册,但我希望它看起来尽可能像普通帖子一样因此进入“Wall Photos”专辑)。

我意识到我可以通过使用FQL查询图形来找到“Wall Photos”相册的object_id,但是如果它不存在则需要额外的权限来创建它,我宁愿保持权限这么简单尽可能。

如果有人可以指出如何将照片上传到“/ me / feed”,我将非常感谢。

1 个答案:

答案 0 :(得分:1)

  

但是这段代码只会产生一个内容为纯文本墙的帖子   “消息”(即图像字段似乎被忽略)。我也试过了   “/ page_id / feed”,结果相同。

您只能提供图片链接,但不能提供数据。

  

现在,只需将端点更改为“/ me / photos”,即可上传   使用应用程序名称将照片发送到“普通”相册,但我想要它   看起来像一个正常的帖子尽可能,所以因此进入   “Wall Photos”专辑)。

是的,它默认根据应用创建了一个相册。如果已经存在,则上传到相册。并生成帖子。

  

我意识到我可以通过使用FQL查询图表来实现这一点   找到“Wall Photos”专辑的object_id,但如果没有   存在它需要额外的权限来创建它,我会   而是保持权限尽可能简单。

您无法上传到fb for me / feed结束点。您应该存储在您的server / s3 /某些服务中,并将公共URL提供给我/ feed params。