FQL проблема запроса в PHP - PullRequest
       10

FQL проблема запроса в PHP

0 голосов
/ 08 апреля 2010

Я хочу получить имена пользователей на Facebook. Для этого я попытался использовать FQL-запрос. Код,

$result = $facebook->api_client->fql_query("SELECT name FROM user WHERE uid='$user_id');

Но с этим есть некоторые проблемы. Я предполагаю, что запрос не выполняется или он возвращает нулевые значения. Я также попытался использовать users.getInfo следующим образом:

$result = $facebook->api_client->users_getInfo($user_id,'name');

Но опять та же проблема.

Я пытался отобразить массив как,

echo $result['name];

Итак, я попробовал оба кода как,

if(!$facebook->api_client->fql_query("SELECT name FROM user WHERE uid='$user_id')) {
   echo "Error.";
}

Я включил и facebook.php, и facebookapi_php5_restlib.php в мой php-файл Куда я иду не так?

1 Ответ

0 голосов
/ 29 июля 2010

теперь я могу решить эту проблему .. откройте и измените файл facebookapi_php5_restlib.php и вот так

  public function post_request($method, $params, $server_addr) {
    list($get, $post) = $this->finalize_params($method, $params);
    $post_string = $this->create_url_string($post);
    $get_string = $this->create_url_string($get);
    $url_with_get = $server_addr . '?' . $get_string;
    if ($this->use_curl_if_available && function_exists('curl_init')) 
    {
      $useragent = 'Facebook API PHP5 Client 1.1 (curl) ' . phpversion();
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $url_with_get);
      curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
      curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3600);
      curl_setopt($ch, CURLOPT_TIMEOUT, 3600);
      $result = $this->curl_exec($ch);
      curl_close($ch);
    } else {

    $content_type = 'application/x-www-form-urlencoded';
      $content = $post_string;
      $result = $this->run_http_post_transaction($content_type,$content, $url_with_get);
    }
    return $result;
  }

изменить время ожидания для

...