如何在变量中存储FQL的值

时间:2013-04-24 14:48:04

标签: php facebook-fql

我试图从用户中提取用户信息。 能够使用fql获得它。但主要问题是我无法将特定数据(例如名称)存储在单独的变量中 我想在我的网页的文本框中显示该值。 可以告诉我什么是错的吗?

<?php
$app_id = '237773783026***';
$app_secret = '90a6514ebed8***f47a3d9a695608315';
$my_url = 'http://apps.facebook.com/anubhawfirst';

$code = $_REQUEST["code"];

// auth user
if(empty($code)) {
$dialog_url = 'https://www.facebook.com/dialog/oauth?client_id=' 
$app_id . '&redirect_uri=' . urlencode($my_url) ;
echo("<script>top.location.href='" . $dialog_url . "'</script>");
}

// get user access_token
$token_url = 'https://graph.facebook.com/oauth/access_token?client_id='
$app_id . '&redirect_uri=' . urlencode($my_url) 
. '&client_secret=' . $app_secret 
. '&code=' . $code;

// response is of the format "access_token=AAAC..."
$access_token = substr(file_get_contents($token_url), 13);

// run fql query
$fql_query_url = 'https://graph.facebook.com/'
. 'fql?q=SELECT+name+,+uid+FROM+user+WHERE+uid=me()'
. '&access_token=' . $access_token;
$fql_query_result = file_get_contents($fql_query_url);
$fql_query_obj = array(json_decode($fql_query_result, true));

//this is the part where am trying to extract using array.
foreach ($fql_query_obj as $item)
{ 

print $fql_query_obj[0];
;
}

// display results of fql query

echo '<pre>';
print_r("query results:");
print_r($fql_query_obj);
echo '</pre>';


?>

1 个答案:

答案 0 :(得分:0)

您有一个包含查询结果的多维数组。 uid和name列中的值深度为四级。像这样访问它们:

$uid = $fql_query_obj[0]['data'][0]['uid'];
$name = $fql_query_obj[0]['data'][0]['name'];