【问题标题】:Facebook PHP SDK: Post attached photo to fanpageFacebook PHP SDK:将附加照片发布到粉丝专页
【发布时间】:2016-07-08 11:22:19
【问题描述】:

在我的工作代码中发布带有基于 url 的图像的消息,我有这个设置:

   $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 文档说:

"将照片发布到 Facebook 有两种不同的方式: 1:将照片附加为 multipart/form-data。对象的名称无关紧要,但历史上人们使用 source 作为照片的参数名称。它的工作原理取决于您碰巧用于发布帖子的 SDK。 2:使用已经在互联网上的照片,通过url参数发布:"

所以,Nr.2 方式有效,但我如何使用方式 nr.1,“将照片附加为多部分/表单数据”? - 文档提供了 php sdk 和一般情况下的示例。

【问题讨论】:

    标签: facebook api sdk attachment photo


    【解决方案1】:

    该文档提供了 php sdk 和一般情况下的示例。

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

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

    【讨论】:

    • 非常感谢,我现在对文档的结构更加熟悉了。那里有很多网络上的教程,似乎已经过时了,谁也让我感到困惑:))
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多