我使用以下代码尝试使用FQL检索页面的见解。显然我已经删除了App ID,App Secret,URL和Object ID(在FQL查询中)。
该页面正确登录用户,并要求提供“read_insights”权限。我以用户身份登录,该用户是我尝试访问的页面的管理员。
我得到的回应是:
Array ( [0] => Array ( [metric] => page_like_adds [value] => 0 ) )
我是FQL的新手,所以我确定我在这里做了一些蠢事。
<?php
require_once('facebook/src/facebook.php');
define('APP_ID', '');
define('APP_SECRET', '');
$facebook = new Facebook(array(
'appId' => '',
'secret' => '',
'cookie' => true,
));
$app_id = "";
$app_secret = "";
$my_url = "";
session_start();
$code = $_REQUEST["code"];
if(empty($code)) {
$_SESSION['state'] = md5(uniqid(rand(), TRUE)); //CSRF protection
$dialog_url = "https://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url) . "&state="
. $_SESSION['state'] . "&scope=read_insights";
echo("<script> top.location.href='" . $dialog_url . "'</script>");
}
if($_REQUEST['state'] == $_SESSION['state']) {
$token_url = "https://graph.facebook.com/oauth/access_token?"
. "client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url)
. "&client_secret=" . $app_secret . "&code=" . $code;
$token = file_get_contents($token_url);
$params = null;
parse_str($token, $params);
} else {
echo("");
}
$fql = "SELECT metric, value FROM insights WHERE object_id=OBJECT_ID AND metric='page_like_adds' AND end_time=1272351600 AND period=86400";
$fqlresponse = $facebook->api(array(
'method' => 'fql.query',
'query' =>$fql,
));
print_r($fqlresponse);
?>
答案 0 :(得分:0)
使用你的FQL:
$fql = "SELECT metric, value FROM insights WHERE object_id=OBJECT_ID AND metric='page_like_adds' AND end_time=1272351600 AND period=86400";
您选择的是“page_like_adds”指标,即“喜欢您的网页内容”,直至“1272351600”,即“2010年4月27日星期二”。
所以我想,你的查询不是,你想要的。
您希望从页面中获取哪些指标?
我建议阅读:https://developers.facebook.com/docs/reference/fql/insights/(官方文档太FQL指标)
您也可以尝试使用Graph API来访问洞察: