2

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

        $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 上有一些图像,这些图像我想上传到我的墙上。

提前致谢

4

3 回答 3

4

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);

于 2012-11-15T23:06:57.747 回答
1

我没有使用 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
?>
于 2013-03-29T23:33:58.450 回答
-1

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

$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);
于 2013-03-30T01:04:38.833 回答