7

使用图形 api 检查标签应用程序是否仍安装在特定粉丝页面上的最佳方法是什么?

我能想出的唯一方法是使用https://graph.facebook.com/page_id/tabs/app_id,如果已安装,这将返回给定选项卡的数据,但似乎需要 access_token . 要使用这种方法,我认为,我不仅需要向用户询问 manage_pages 权限,还需要询问 offline_access,然后我可以存储 page_access_token 并能够在以后使用它来检查应用程序是否已经删除?

这似乎很奇怪,这不仅仅是公共信息,考虑到没有登录 Facebook,你可以看到安装在粉丝页面上的所有标签?

这是一个关于取消授权回调的类似问题:http: //facebook.stackoverflow.com/questions/8000163/deauthorize-page-tab-notification

谢谢

4

1 回答 1

8

根据我的测试和 Facebook 的文档,您不需要用户的访问令牌来检查是否安装了应用程序(尽管您可以使用它)。我发现以您的应用程序登录更容易。这是 facebook 的链接,向您展示如何。查看名为“应用程序登录”的部分。

简而言之,你会在 php 中获得一个类似这样的应用访问令牌:

$access_token = file_get_contents(https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&grant_type=client_credentials);

然后您可以使用该访问令牌来获取数据选项卡:

$app_check = json_decode(file_get_contents("https://graph.facebook.com/". FACEBOOK_PAGE_ID . "/tabs/" . YOUR_APP_ID . "?access_token=" . $access_token;));

如您所见,我 json 解码了该文件的内容,然后检查该应用程序 ID 是否存在于页面上。

if(!empty($app_check->data)){

echo "APP 已安装"; }else{ echo "APP 未安装"; }

我希望这会有所帮助!

于 2012-01-06T15:15:32.920 回答