Facebook PHP SDK:将附加照片发布到fanpage

时间:2016-03-21 19:16:31

标签: facebook api sdk attachment photo

在我的工作代码中发布带有基于网址的图片的邮件,我有这样的设置:

   $post_data = array(
    'message' => 'nice kitten pic',
    'url' => 'http://www.eastcottvets.co.uk/uploads/Animals/gingerkitten.jpg'
    );
   $request = new FacebookRequest($app, $access_token, 'POST', '/' . $page_id . '/photos', $post_data);

我试过这个,这不起作用:

$post_data = array(
    'message' => 'nice kitten pic',
    'source' => realpath('pics/kitten.jpg')
    );

但是现在我想发布一个图像,而不是使用url引用,而是引用我本地主机上的图像路径。 Facebook Docu说:

将照片发布到Facebook有两种不同的方式: 1:将照片作为multipart / form-data附加。对象的名称无关紧要,但历史上人们使用source作为照片的参数名称。这是如何工作的取决于你碰巧用来做帖子的SDK。 2:使用url参数发布使用互联网上已有的照片:

所以,Nr.2的方式有效,但我如何使用nr.1方式,“将照片作为multipart / form-data附加”? - 文档为php sdk提供了一个例子。

2 个答案:

答案 0 :(得分:1)

  

该文档为php sdk提供了一个例子。

不,它没有 - 你错过了它:https://developers.facebook.com/docs/php/howto/example_upload_photo

与您的问题最相关的部分是使用fileToUpload准备本地文件进行上传。

答案 1 :(得分:1)

解决方案,对于人们可能会搜索:

  $post_data = array(
    'message' => 'nice kitten pic',
    'source' => $fb->fileToUpload('/var/www/myPublicToTheWebFolder/kitten.jpg'),
  );

当然路径会有所不同,具体取决于服务器设置。但它必须是你必须在那里输出的完整路径。