检查是不是仍安装页面选项卡应用程序

Posted

技术标签:

【中文标题】检查是不是仍安装页面选项卡应用程序【英文标题】:Check if page tab app is still installed检查是否仍安装页面选项卡应用程序 【发布时间】:2012-01-02 04:01:51 【问题描述】:

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

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

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

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

谢谢

【问题讨论】:

【参考方案1】:

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

简而言之,你会在 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 。 “/标签/”。 YOUR_APP_ID 。 "?access_token=" 。 $access_token;));

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

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

echo "APP 已安装"; 别的 echo "APP 未安装";

希望对你有帮助!

【讨论】:

这种技术的唯一问题是如果 Facebook 页面是私有的。在这种情况下,/page_id/tabs/app_id?access_token=app_access_token 将始终返回空。您将需要具有 manage_pages 权限的用户访问令牌或页面的访问令牌 这是一个很好的观点。无论好坏,我只需要访问公共页面。

以上是关于检查是不是仍安装页面选项卡应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Facebook 选项卡应用程序无法访问粉丝专页的照片

当我打开浏览器的网络选项卡时,msw mockServiceWorker.js 资源仍处于“待定”状态

像时间线页面选项卡中的详细页面

xcode 是不是支持选项卡控件?

(浏览器选项卡)Browser Tab

如何检查是不是检查了不同选项卡中的每个复选框?