0

突然,FQL 查询不起作用,我有这么多月的代码并保持运行,现在它不起作用,甚至我过去的代码有此代码的项目出现故障。

例如,我有一个名为Sample Page One的粉丝页面名称,它的 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"
      }
   ]
}

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

4

2 回答 2

1

三件事-

  1. 定义fb_id为:

    $fbp_id = "540109632726307"
    

    (因为它是一个大整数)

  2. in后不留空格=

    page_id= '.$fbp_id
    
  3. 没有变量$json_output,用$fql_query_objinvar_dump代替。

所以你的代码看起来像:

$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);

试试这个。

于 2013-10-25T06:23:57.123 回答
0

为什么在 $fql_query_url 中连接两个字符串?它可能只是一个字符串。您也不需要在末尾连接单引号。

您是否尝试通过 api.facebook.com 网址获取文件?

例如

$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。

于 2014-01-23T10:06:07.040 回答