如果用户可以在特定朋友的墙上写字,有没有办法检查PHP SDK?
示例:
if ($facebook_can_write_to->'123456789') echo "You can write on this friend's Wall";
答案 0 :(得分:1)
使用FQL表(http://developers.facebook.com/docs/reference/fql/user/),您可以检查当前用户是否可以通过加载好友'来查看当前用户是否可以发布到朋友墙。用户信息,特别是can_post
字段。
can_post bool 观众是否可以发布到用户的墙上。
答案 1 :(得分:0)
根据documentation,如果该用户授予您* publish_stream *权限,您可以在用户朋友墙上发帖:
<强> publish_stream 强>
使您的应用能够向用户发布内容,评论和赞 流和用户的朋友的流。
在某些情况下,您将无法执行此操作,例如,如果某个用户阻止了您的应用程序,那么我想如果您尝试将会失败,那么您应该只检查从Facebook返回的响应api请求,看它是否有效。
据我所知,你不能问api(也不能通过fql)“我的应用程序可以发布到这个用户墙”,你只能问“让这个用户授予我的应用程序publish_stream权限”。
如果我明白你想要什么,我可能会为你提供一些解决方案。 我说向用户显示在朋友墙上发帖的选项。 当用户选择此选项时,尝试在朋友墙上发布(我假设您正在使用ajax进行该调用),如果失败则返回某种代码,然后在客户端检查该代码,如果它返回使用javascript sdk打开一个对话框。
对话框有两种选择,您可以像这样使用Feed Dialog:
var obj = {
method: 'feed',
to: "FRIEND_ID",
name: 'A message',
caption: 'Just trying something',
description: 'This is how to post on a friends wall'
};
FB.ui(obj, function(response) { console.log(response); });
或者您可以使用Send Dialog:
FB.ui({
method: 'send',
to: "FRIEND_ID",
name: 'A message',
link: 'LINK_URL',
});
有了这个,虽然你必须发布一个链接,我不确定这是否适合你。为用户尝试失败后,您可以保存该数据并在以后使用它。