Grr … Я не могу заставить fql работать. Одна вещь, я думаю, что документы старые, потому что я не думаю, что api () любит только массив. Так или иначе:
$user_id = $facebook->getUser();//works $access_token = $facebook->getAccessToken();//works $fql = 'SELECT name from user where uid = ' . $user_id; $ret_obj = $facebook->api(array( 'method' => 'fql.query', 'access_token' => $access_token, 'query' => $fql, )); print_r($ret_obj);// dont work. actually I get exceptions
Я пробовал всевозможные комбинации параметров для api (), но безрезультатно.
$user = curl('https://graph.facebook.com/'.$user_id.'?access_token='.$access_token);
действительно работает.
Я использую это:
function fql($q, $access_token) { // Run fql query $fql_query_url = 'https://graph.facebook.com' . '/fql?q='. urlencode($q) . '&access_token=' . urlencode($access_token); $fql_query_result = file_get_contents($fql_query_url); $length = strlen(PHP_INT_MAX); $fql_query_result = preg_replace('/"(user_id)":(\d{' . $length . ',})/', '"\1":"\2"', $fql_query_result); return json_decode($fql_query_result, true); }