无论如何要查看已添加我的 facebook 应用程序(作为选项卡)的页面列表。
例如,我创建了一个 facebook 应用程序,它允许用户在他们的 facebook 页面上添加我的 facebook 应用程序选项卡。现在,我想查看添加了我的 facebook 应用程序的页面列表。
是否可以使用 Graph api 或 Insights api?或任何其他解决方案。
无论如何要查看已添加我的 facebook 应用程序(作为选项卡)的页面列表。
例如,我创建了一个 facebook 应用程序,它允许用户在他们的 facebook 页面上添加我的 facebook 应用程序选项卡。现在,我想查看添加了我的 facebook 应用程序的页面列表。
是否可以使用 Graph api 或 Insights api?或任何其他解决方案。
概念:
首先获取页面列表 -
/me/accounts
然后,对于每一页,\GET
-
/PAGE_ID?fields=has_added_app
(has_added_app
表示此页面是否已在页面选项卡中添加了进行查询的应用)
所需权限:
manage_pages
完整代码: (PHP)
$pages = $facebook->api("/me/accounts");
foreach($pages as $page)
{
$id = $page["id"];
$resp = $facebook->api("/".$id."?fields=has_added_app");
if(isset($resp['has_added_app']))
{
if($resp['has_added_app'] == true)
echo $page["name"]." has used this app<br/>";
else
echo $page["name"]." has NOT used this app<br/>";
}
else
{
echo $page["name"]." has NOT used this app<br/has_>";
}
}
(或更简单的方法)您可以使用fql并查询这个-
SELECT page_id, name, has_added_app from page WHERE page_id IN (SELECT page_id FROM page_admin WHERE uid = me())
要获取使用您的应用程序作为页面选项卡的所有页面,您可以使用以下查询FQL
-
从应用程序 WHERE app_id=APP_ID 中选择 secure_page_tab_url、page_tab_url、page_tab_default_name
注意:App_Access_Token
需要查询这个。
无法查询安装了您的页面应用程序的页面的完整列表。您只能查询特定页面以查看它们是否安装了应用程序。
我能看到跟踪安装了您的页面应用程序的页面的唯一可行方法是创建一个数据库表来存储访问您的应用程序的页面的 Facebook ID 号,并让您的服务器抽查那些没有有一段时间没有访问它。这不是一个优雅的解决方案,但 Facebook API 目前不提供。