我正在尝试升级我的iPhone应用程序以使用新的facebook图形API。 我找不到的一件事是如何找出从我的应用程序连接到Facebook的当前用户是否是我的Facebook页面的粉丝 - (即在新范例中 - 用户是否喜欢我的页面)
在Rest Api中有一个函数isFan,但不在Graph中。
我可以获得用户喜欢的所有项目,并搜索其中一个是否是我的页面,但当然必须有一个更简单的方法,而不是每次我必须检查他是否是粉丝时,通过数千条记录,对吧? / p>
如果有人已经知道如何从他们的新文档中做到这一点,我将非常感谢您与我分享。
答案 0 :(得分:6)
根据Facebook Dev docs,旧pages.isFan
方法现在在图谱API中具有等价物
请注意:我们正在弃用REST API,并为此方法添加了对Graph API的等效支持。您现在可以向/ USER_ID / likes / PAGE_ID发出HTTP GET请求,以检查用户是否是粉丝的页面。
根据此情况,只要您拥有正确的{user_likes
)Permission或用户的喜欢是公开的,拨打/ {USER ID} / likes / {PAGE ID}就会返回必要的信息
答案 1 :(得分:0)
您正在寻找的是连接表。试试这个:
SELECT target_id, target_type
FROM connection
WHERE source_id = '_THE_USERS_FACEBOOK_ID_'
AND target_id = '_THE_ID_OF_THE_PAGE_OR_OBJECT_TO_LIKE_'
这是一个可以从FB.api JavaScript方法或任何后端SDK运行的FQL语句。
答案 2 :(得分:0)
如果您在Facebook调用页面时解析$ _POST变量,那么这是最快捷简单的解决方案。 signed_request包含信息(也是),用户喜欢你的页面,甚至他/她还没有访问你的应用程序。
答案 3 :(得分:0)
使用PhoneGap的插件,我可以这样做:
pageID = '6815841748';
FB.api('/me', function (a) {
user_id = a.id;
FB.api('/' + user_id + '/likes/'+pageID, function (a) {
alert(a.data.length);
})
});
如果他们喜欢给定的页面ID,则返回1,否则返回0.
我发现(但尚未测试)可能更清洁的方法:
window.checkDoesLike = function() {
FB.api({ method: 'pages.isFan', page_id: '6815841748' }, function(resp) {
if (resp) {
alert('You like.');
} else {
alert("You don't like.");
}
});
};
答案 4 :(得分:-2)
现在'// likes'图形资源是唯一可用的图形资源。但这并不算太糟糕。
https://graph.facebook.com/ngerakines/likes?access_token=