【发布时间】:2012-05-15 01:16:30
【问题描述】:
是否可以以当前登录用户的身份在其他用户的墙上发布消息?我可以发布消息,但似乎是其他用户发送的,而不是我。
使用旧 API(通过 stream.publish 方法)是可能的,但我无法使用新 API 复制该功能。
提前致谢!
【问题讨论】:
标签: facebook rest facebook-graph-api
是否可以以当前登录用户的身份在其他用户的墙上发布消息?我可以发布消息,但似乎是其他用户发送的,而不是我。
使用旧 API(通过 stream.publish 方法)是可能的,但我无法使用新 API 复制该功能。
提前致谢!
【问题讨论】:
标签: facebook rest facebook-graph-api
你可以使用他们的 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'});
【讨论】:
见http://developers.facebook.com/docs/reference/dialogs/feed/
你必须使用 from / to 参数。
【讨论】:
是的。它可以作为提要发布到用户墙...
JsonObject resul = facebookClient.Post("/me/feed", parameters) as JsonObject;
在这里查看完整代码Post To Feed
【讨论】:
我使用这行代码在朋友的墙上发帖,friendID 是我要发帖的朋友的 id $attachment 是带有 msg 的数组。
$result = $facebook->api($friendID.'/feed/','post',$attachment);
希望这会有所帮助..
【讨论】:
一旦你有一个活跃的用户会话/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/
【讨论】: