将图像从本地机器发布到Facebook用户墙

时间:2011-11-30 10:41:15

标签: facebook image

我试图通过图形api将图像发布到用户的墙上。 我试图发布托管在我的服务器上的图像,它工作正常。但是当我尝试发布本地文件时,它会出现以下错误。 未捕获OAuthException:(#100)图片网址格式不正确。

我的代码如下所示

require_once "facebook-sdk/src/facebook.php";

$app_id = "23432423432";
$app_secret = "345345353553535353534534";

// Init facebook api.
$facebook = new Facebook(array(
    'appId' => $app_id,
    'secret' => $app_secret,
    'cookie' => true
));
$urlTitle = 'my url';
$review = 'test desc';
//$picLocal = 'http://l.yimg.com/a/i/ww/met/yahoo_logo_in_061509.png';
$picLocal = '@' . realpath('/var/www/PixShare/a.jpg');
$attachment = array('message' => ' testing',
'description' => 'Review: ' . $review,
'access_token' => 'USER ACCESS TOKEN',
'picture' => $picLocal
);
if(!($sendMessage = $facebook->api('/me/feed/','post',$attachment))){
$errors= error_get_last();
echo "Facebook publish error: ".$errors['type'];
echo "<br />\n".$errors['message'];

如果可能,请告诉我。

2 个答案:

答案 0 :(得分:1)

Facebook API(或任何在线应用/网站)无法检索您的本地文件。所以你必须以某种方式在线托管你的文件。

或者,如果您有静态IP,则可以将本地主机打开到Internet。并通过您的IP提供文件目的地。但它不是一个好的解决方案,因为你必须一直连接到互联网,并且apache运行没有任何错误。而且你的互联网连接应该很棒..

所以让我们在某个地方举办:)

答案 1 :(得分:0)

这对我有用:

$photo = realpath("mypic.png");

然后使用此

$picLocal = '@' . $photo;

如果pic位于.php文件旁边