【问题标题】:PHP + Facebook: how to upload photo on the wall?PHP + Facebook:如何将照片上传到墙上?
【发布时间】:2012-11-04 15:49:48
【问题描述】:

我在页面墙上发布消息的通常方式是:

        $args = array(
            'access_token'  => $page_access_token,
            'message'       => $title,
            'link'          => $link,
            'name'          => 'This is title',
            'description'   => 'This is a testing of the posting on page',
            //'picture'     => 'http://www.example.com/directory/images/30.jpg'
        );

        $post_id = $facebook->api("/$pageId/feed","post",$args);

但是我怎样才能将图像发布到我的墙上 - 替代方法:单击上传按钮,选择图像 -> 并上传,图像在墙上。

我的 FTP 上有一些图片,这些图片我想上传到我的墙上。

提前致谢

【问题讨论】:

    标签: php facebook facebook-graph-api photo facebook-page


    【解决方案1】:

    https://developers.facebook.com/blog/post/498/这个链接可以帮到你...

    以下是使用 Graph API 上传照片的一些不同方法。这些示例假设您已经实例化了 $facebook 对象并拥有一个有效的会话。

    1 - 当前用户的默认应用相册 此示例将照片上传到当前用户的默认应用程序相册。如果相册尚不存在,则会创建它。

    $facebook->setFileUploadSupport(true); $args = array('message' => 'Photo Caption'); $args['image'] = '@' . realpath($FILE_PATH);

    $data = $facebook->api('/me/photos', 'post', $args); print_r($data); 2 - 目标专辑` 此示例将照片上传到特定相册。

    $facebook->setFileUploadSupport(true); $args = array('message' => 'Photo Caption'); $args['image'] = '@' . realpath($FILE_PATH);

    $data = $facebook->api('/'. $ALBUM_ID . '/photos', 'post', $args); print_r($data);

    【讨论】:

    【解决方案2】:

    我没有使用 Facebook API 包括,所以我试图将 Facebook 的东西只使用 curl 请求直接集成到 Graph API URL。

    所以,要在用户墙中发布图片,我发现最简单的方法就是指明图片 URL。

    <?php
    $url = "https://graph.facebook.com/me/photos?access_token=" . $FacebookToken;
    $url = $url . "&url=" . urlencode("http://www.url.to/the/image.jpg");
    $url = $url . "&message=" . urlencode($Description);
    $url = $url . "&method=POST";
    
    $data = file_get_contents($url); // Can change to curl if
                                     // file_get_contents is blocked on your host
    ?>
    

    【讨论】:

      【解决方案3】:

      这是一个简短的例子,从我的代码中恢复:

      $fbPost = curl_init();
      curl_setopt($fbPost, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($fbPost, CURLOPT_SSL_VERIFYPEER, false);
      curl_setopt($fbPost, CURLOPT_SSL_VERIFYHOST, 2);
      curl_setopt($fbPost, CURLOPT_POST, true);
      curl_setopt($fbPost, CURLOPT_ENCODING, 'gzip');
      
      $photoInfo = array(
          'access_token' => <USER_ACCESS_TOKEN>,
          'name' => <IMAGE_DESCRIPTION>,
          'url' => <ABSOLUTE_URL>/images/photo.jpg',
      );
      
      curl_setopt($fbPost, CURLOPT_URL, 'https://graph.facebook.com/<USER_ID>/photos');
      curl_setopt($fbPost, CURLOPT_POSTFIELDS, $photoInfo);
      $result = json_decode(curl_exec($fbPost), true);
      curl_close($fbPost);
      

      【讨论】:

        猜你喜欢
        • 2012-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多