在最近的日子里,我一直在努力解决这个问题,但是我真的无法解决。我在这个论坛上已经多次发现这个问题,但是这里提出的解决方案都不能解决我的问题,因为这些解决方案是几年前发布的,Facebook经常更新解决特定问题的方法。用于检查用户是否喜欢我的页面的我的facebook javascript SDK如下:
$(document).ready( function () {
try {
FB.init({
appId : '{my_app_id',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
version: 'v5.0'
});
} catch (e) {
alert(e.message);
}
try {
FB.getLoginStatus(function(response) {
if (response['status'] == 'connected') {
try {
FB.api(
"/{my_page_id}/likes", {access_token: 'my_app_token'},
function (response) {
alert(response.error.message);
if (response && !response.error) {
//code to check likes
}
}
);
} catch (e) {alert(e.message);}
}
});
} catch (e) {
alert(e.message);
}
});
FB.init和FB.getLoginStatus都有效,其中response ['status']实际上是“已连接”。但是我的FB.api无法正常工作。警报(response.error.message);行返回以下错误:“(#10)此端点需要'manage_pages'权限或'Page Public Content Access'功能。有关详细信息,请参见https://developers.facebook.com/docs/apps/review/login-permissions#manage-pages和https://developers.facebook.com/docs/apps/review/feature#reference-PAGES_ACCESS。”。我一直在检查来自Facebook的开发人员手册,但这些手册非常不完整,至少是葡萄牙语的手册(我是Brasilian)。我真的很想尝试自己完成此工作,因此我正在寻求该论坛用户的帮助。
提前感谢。
/ page-id / likes端点返回页面的喜欢(例如,该页面喜欢的其他页面),而不是喜欢您的页面的用户。为了获取该数据,您需要拥有页面,并且需要具有manage_pages
权限进行授权。
无法获得喜欢您的页面的用户的列表,检查特定用户是否喜欢该页面的唯一可靠方法是通过授权该用户的user_likes权限。之后,您可以使用/me/likes
端点获取喜欢的页面。虽然,您需要获得Facebook审查的许可,并且需要非常充分的理由来使用该许可。
附加信息:How to check if someone is liked my fanpage from my website?
谢谢你,伊希恩。我今天开始了获得user_likes许可的过程,但是在验证我的业务时,我收到了以下消息:“由于冠状病毒(COVID-19),我们暂时暂停了“个人验证”,以使我们的审核者专注于帮助人们留住精力的工作知情且安全。我们知道此审核步骤很重要,并将尽快恢复审核。”我看到我将不得不等上几个月才能解决问题。但是,如果可以的话,请回答我一个问题:在我的代码中哪里放置user_likes权限?是否与如下所示的access_token一起?FB.api("/me/likes/", {access_token: token, permissions: 'user_likes'}, function (response) {});