Facebook Graph API发布到朋友的墙上

时间:2011-06-15 10:27:47

标签: facebook rest facebook-graph-api

是否可以将消息作为当前登录的用户在其他用户的墙上发布?我可以发布消息,但看起来其他用户发送了消息,而不是我。

可以使用旧API(通过stream.publish方法),但我无法使用新API复制该功能。

提前致谢!

5 个答案:

答案 0 :(得分:5)

你可以使用他们的JavaScript SDK做这样的事情:

var user_id = "123456789";
var data = {
    name: "title of post",
    caption: "caption of post",
    description: "description of post"
};
var callback = function (response) {};
FB.api("/" + user_id + "/feed", "post", data, callback);

这会将当前登录用户提供的数据发送给指定了user_id的用户。

为了允许发布,您需要publish_stream权限,您可以动态请求,通过调用

FB.login(null,{perms: 'publish_stream'});

答案 1 :(得分:0)

请参阅http://developers.facebook.com/docs/reference/dialogs/feed/

你必须使用from / to params。

答案 2 :(得分:0)

是..可以将其作为Feed发布到用户墙...

JsonObject resul = facebookClient.Post(“/ me / feed”,参数)为JsonObject;

请参阅此处的完整代码Post To Feed

答案 3 :(得分:0)

我用这一行代码在朋友的墙上发布了friendID作为我要发布的朋友的id $ attachment是带有msg的数组。

$ result = $ facebook-> api($ friendID。'/ feed /','post',$ attachment);

希望这会有所帮助..

答案 4 :(得分:0)

一旦你有一个活跃的用户会话/ cookie,你可以发布到这样的朋友墙:

Javascript SDK

FB.api('/FRIENDSUSERID/feed', 'post', { message: message }, function(response) {
    if (!response || response.error) {
        alert('Error occured');
    } else {
        alert('Post ID: ' + response.id);
    }
});

将FRIENDSUSERID替换为朋友的用户ID。

PHP SDK 3.1.1

$publishStream = $facebook->api("/$user/feed", 'post', array(
     'message' => "Your Message", 
     'link'    => 'http://example.com',
     'picture' => '',
     'name'    => 'App Name',
     'description'=> 'App description'
));

只需将$ user变量替换为您朋友的用户ID即可。

我已经整理了一个教程,展示了如何在其他方面做到这一点,值得一试:http://www.epixseo.com/index.php/facebook-php-3-3-1-and-javascript-sdk-graph-api-tutorial/