Ошибка отлова в данных FQL, если отсутствуют определенные данные, пример текущего города - PullRequest
0 голосов
/ 31 октября 2011

Я пытался получить следующие данные, используя следующий код в php:

$fql_query='SELECT%20name,%20birthday_date,%20sex,%20current_location.name,%20email%20FROM%20user%20WHERE%20uid=me()';<br>
  // Run fql query<br>
  $fql_query_url = 'https://graph.facebook.com/'
    . '/fql?q='.$fql_query
    . '&' . $access_token;<br>
  $fql_query_result = file_get_contents($fql_query_url);<br>
  $fql_query_obj = json_decode($fql_query_result, true);<br>

Предупреждение: file_get_contents (https://graph.facebook.com//fql?q=SELECT%20name,%20birthday_date,%20sex,%20current_location.name,%20email%20FROM%20user%20WHERE%20uid=me()&access_token=) [function.file-get-contents]: не удалосьоткрытый поток: HTTP-запрос не выполнен! HTTP / 1.0 400 Неверный запрос в строке 223

Я считаю, что следующая ошибка связана с тем, что пользователь не указал текущее местоположение в профиле.код работает нормально. Как я могу поймать эту ошибку?

1 Ответ

0 голосов
/ 31 октября 2011

"[function.file-get-contents]: не удалось открыть поток: сбой HTTP-запроса! HTTP / 1.0 400 Неправильный запрос в строке 223"

Скажет вам, что если функция не работает, ее можно логически проверить на результат, например,

$fql_query='SELECT%20name,%20birthday_date,%20sex,%20current_location.name,%20email%20FROM%20user%20WHERE%20uid=me()';

  // Check FQL query
  $fql_query_url = 'https://graph.facebook.com/'
                   . '/fql?q='.$fql_query
                   . '&' . $access_token;<br>

  // First logically check the result, TRUE: Result is passed to $fql_query_result.
  //                                   FALSE: $flq_query_result = 0 or false.
  $fql_query_result = file_get_contents($fql_query_url) ? file_get_contents($fql_query_url) : 0;

  // Only json_decode the result if it was valid.
  $fql_query_obj = (!$fql_query_result == 0) ? json_decode($fql_query_result, true) : "FQL was not a valid query";
...