使用图表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
由于
答案 0 :(得分:8)
根据我的测试,根据Facebook的文档,您不需要用户的访问令牌来检查是否安装了应用程序(尽管您可以使用它)。我发现以您的应用程序登录更容易。这是Facebook的link向您展示的方式。请查看名为" App Login"。
的部分简而言之,您在php中获得了类似这样的app访问令牌:
$ 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。 " /选项卡/" 。 YOUR_APP_ID。 "?=的access_token" 。 $的access_token;));
如您所见,我json解码了该文件的内容,然后检查该页面上是否存在该app id。
如果(空($ app_check->!数据)){
回声" APP已安装&#34 ;; }其他{ echo" APP未安装&#34 ;; }
我希望有所帮助!