FQL 查询通过粉丝页面 ID 获取风扇页面名称返回 null


FQL Query get Fan Page name via Fan page ID returns null

突然,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"
      }
   ]
}

这是一个有效的网址。我的代码有问题吗?

三件事-

  1. fb_id定义为:

    $fbp_id = "540109632726307"
    

    (因为它是一个大整数)

  2. = 中后不留空格:

    page_id= '.$fbp_id
    
  3. 没有变量$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。