突然,FQL 查询不起作用,我有这么多个月的代码并保持它运行,现在它不起作用,甚至我过去的项目都有这个代码出现故障。
例如我有一个名为示例页面一的粉丝页面名称,它的 id 为 540109632726307
所以,我想做的是,使用粉丝页面ID检索粉丝页面的名称。
查询
https://graph.facebook.com/fql?q=SELECT+name+FROM+page+WHERE+page_id=540109632726307
法典
$fbp_id = 540109632726307; //Sample FB ID
$fql_query_url = 'https://graph.facebook.com/'.'fql?q=SELECT+name+FROM+page+WHERE+page_id= '.$fbp_id.'';
$fql_query_result = file_get_contents($fql_query_url);
$fql_query_obj = json_decode($fql_query_result, true);
var_dump($json_output);
当我运行代码时,它的结果是 NULL,以前不是这样。Facebook是否更新了fql查询内容?我似乎也找不到任何关于它的消息。
但是当我运行这个浏览器链接时,
https://graph.facebook.com/fql?q=SELECT+name+FROM+page+WHERE+page_id=540109632726307
它显示我所做的 fql 查询的结果
{
"data": [
{
"name": "Sample Page One"
}
]
}
这是一个有效的网址。我的代码有问题吗?
三件事-
-
将
fb_id
定义为:$fbp_id = "540109632726307"
(因为它是一个大整数)
-
在
=
中后不留空格:page_id= '.$fbp_id
-
没有变量
$json_output
,请在var_dump
中使用$fql_query_obj
。
因此,您的代码将如下所示:
$fbp_id = "540109632726307"; //Sample FB ID
$fql_query_url = 'https://graph.facebook.com/'.'fql?q=SELECT+name+FROM+page+WHERE+page_id='.$fbp_id.'';
$fql_query_result = file_get_contents($fql_query_url);
$fql_query_obj = json_decode($fql_query_result, true);
var_dump($fql_query_obj);
试试这个。
为什么在
$fql_query_url 中连接两个字符串?它可能只是一个字符串。您也不需要在末尾连接单引号。
您是否尝试通过 api.facebook.com url 获取文件?
例如
$fbp_id = "540109632726307"; //Sample FB ID
$fql_query_url = 'https://api.facebook.com/method/fql.query?query=SELECT+name+FROM+page+WHERE+page_id='.$fbp_id;
$fql_query_result = file_get_contents($fql_query_url);
$fql_query_obj = json_decode($fql_query_result, true);
var_dump($fql_query_obj);
Facebook非常无关紧要。有时事情适用于 graph.facebook.com,有时您需要使用 api.facebook.com。