используя FQL в приложении для Android - PullRequest
0 голосов
/ 30 января 2012

У меня есть этот код, который делает вызов FB API с запросом FQL

        String fql = "SELECT name,type,page_id FROM page where page_id IN (SELECT page_id FROM page_fan WHERE uid = me())";

        Bundle parameters = new Bundle();

        parameters.putString("query", fql);
        parameters.putString("access_token",  fb.getAccessToken());

        String url = (fql != null) ? "https://api.facebook.com/method/fql.query" : "https://api.facebook.com/restserver.php";

        String response = Util.openUrl(url, "GET", parameters);

        System.out.println(response);   

Я получаю ответ

<?xml version="1.0" encoding="UTF-8"?><fql_query_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" list="true"/>

запрос работает в проводнике FB Graph (показывает некоторые данные).Я делаю также несколько других запросов на graph.facebook.com с тем же токеном, и они работают просто отлично.

Не могу понять, как я могу сделать правильный запрос FQL с Android. Я проверил все примеры, приведенные в SO, но безрезультатно.Я пробовал также кодировать URL с помощью URLEncoder.encode.

Пожалуйста, дайте мне несколько советов, что я пропускаю.

1 Ответ

2 голосов
/ 31 января 2012

ки.Я понял.Итак ...

Прежде всего .. код, который я разместил, не совместим с тем, что fb api говорит для Android.Обратите внимание на использование openUrl вместо кода Facebook.Чтобы использовать его с FB, есть несколько способов сделать это ... это один из них

String fql = "SELECT name,type,page_id FROM page where page_id IN (SELECT page_id FROM page_fan WHERE uid = me())";

Bundle parameters = new Bundle();

parameters.putString("query", fql);
parameters.putString("method", "fql.query");
parameters.putString("access_token",  fb.getAccessToken());

String response = fb.request(parameters); 

после того, как я сделал это .. в ответ я получил "[]", что означает, что ответ приходит вJSON просто нет данных были получены в результате FQL.Для меня я должен был добавить разрешения при авторизации на fb .. так, чтобы страницы, которые нравятся пользователю, были получены

...