0

我正在尝试阅读用户的所有状态消息。我使用了以下代码。

//gets statusid, message and uid of the user
function get_status_message($access_token){
    // Run fql query
  $fql_query_url = 'https://graph.facebook.com/'
    . '/fql?q=SELECT+message+,+status_id+,+uid+FROM+status+WHERE+uid=me()'
    . '&access_token=' . $access_token;
  $fql_query_result = file_get_contents($fql_query_url);
  $fql_query_obj = json_decode($fql_query_result, true);

  //display results of fql query
  echo '<pre>';
  print_r("query results:");
  print_r($fql_query_obj);
  echo '</pre>';
  return $fql_query_obj;
}

它返回以下内容

query results:Array
(
    [data] => Array
        (
            [0] => Array
                (
                    [message] => test3
                    [status_id] => 5.0606879274642E+14
                    [uid] => 1.0000029926744E+14
                )

            [1] => Array
                (
                    [message] => test2
                    [status_id] => 5.060443560822E+14
                    [uid] => 1.0000029926744E+14
                )

            [2] => Array
                (
                    [message] => testing !
                    [status_id] => 5.0304255638238E+14
                    [uid] => 1.0000029926744E+14
                )

        )

)

我必须检索状态 ID 并将其放入 mysql db。我尝试了 foreach 但我无法循环。下面的代码有效

但我需要将第一个索引值明确指定为 $value* [0] *["status_id"]。有人可以帮忙吗

4

1 回答 1

1

您需要检查 Facebook 调用是否实际检索到数据供您处理,然后遍历结果并插入到您的数据库中,例如:

if(!empty($fql_query_obj['data'])) {
    foreach($fql_query_obj['data'] as $status) {
        $status_id = $status['status_id'];
        // create SQL insert batch
    }
    // Run the insert batch
}
于 2012-10-31T20:11:08.607 回答