需要识别fqlquery和json解码输出的差异

时间:2014-11-03 00:40:16

标签: php json facebook-graph-api facebook-fql facebook-php-sdk

我有一个数据库表,其中包含facebook页面网址,页面ID和状态。我需要使用是或否更新状态字段,具体取决于是否验证了Facebook页面。我还采用了fql方法(我现在不知道了)。它有效,因为我有一个旧的Facebook应用程序。这是查询输出json对象返回true或false

FQL Query
https://graph.facebook.com/fql?q=SELECT is_verified FROM page WHERE page_id="115332808485663"

Link to view query in browser

这里我举了一个NokiaIndia facebook页面的例子。它是一个经过验证的页面,上面的查询在浏览器中返回true但是当我在php中执行它时,它表示它未经验证。我想我在下面的代码中有一些问题需要识别。请帮忙。

  $url=$row["url"];
  $pageid=$row["page_id"];

    $fqlAPIParams = array(
              'method' => 'fql.query',

                'query' =>' 
                  SELECT  is_verified
                  FROM    page
                  WHERE   page_id = '.$pageid.'  
                      LIMIT 99999' ,
                      'access_token'=>$token
               );

    $result = $facebook->api($fqlAPIParams);

 if( $result->is_verified ){
    $verified="Yes";
  } else {
    $verified="No";
  }

echo $pageid;
echo "<br>";
echo $verified;

这是代码的输出。由于示例中的页面已经过验证,因此应显示“是”!请帮帮....

115332808485663
No

2 个答案:

答案 0 :(得分:1)

我猜你应该检查&#34; is_verified&#34;字段,但您正在检查&#34;已验证&#34;。

应该是:

if( $result->is_verified ){
    $verified="Yes";
} else {
    $verified="No";
}

答案 1 :(得分:0)

对数组,json和编程知之甚少,厌倦了很多组合并最终使它工作。问题出在这里

 if( $result[0]['is_verified'] ){