Я интегрировал Facebook SDK 3.6 в Android и использую FQL-запрос для получения пользовательских данных.
Ниже приведен запрос, который я использую:
if(isNetworkConnected() == true){
//Init the LoaderDialog
Asycdialog.setMessage("This might take a while and depends on the speed of your internet connection");
Asycdialog.getWindow().setGravity(Gravity.CENTER_VERTICAL);
Asycdialog.getWindow().setGravity(Gravity.CENTER_HORIZONTAL);
Asycdialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
Asycdialog.setCancelable(false);
//Dialog Show
Asycdialog.show();
File dir =new
String fqlQuery = "{" +
"'friends':'SELECT uid2 FROM friend WHERE uid1 = me()'," +
"'friendinfo':'SELECT uid, name, birthday FROM user WHERE uid IN" +
"(SELECT uid2 FROM #friends) AND birthday'"+
"}";
Bundle params = new Bundle();
params.putString("q", fqlQuery);
Session session = Session.getActiveSession();
Request request = new Request(session,
"/fql",
params,
HttpMethod.GET,
new Request.Callback(){
public void onCompleted(Response response) {
//new Async().execute(response);
new Async().execute(response);
}
});
Request.executeBatchAsync(request);
}else{
Toast.makeText(getActivity(), "Please check and turn on your internet connection", Toast.LENGTH_LONG).show();
}
Запрос работает именно так, как задумано, и я получаю все запрошенные параметры.
Однако согласно документации:
FQL, язык запросов Facebook, позволяет использовать интерфейс в стиле SQL для запроса данных, предоставляемых Graph API. Он предоставляет расширенные функции, недоступные в Graph API, включая объединение нескольких запросов в один вызов.
Вопрос 1) Зависит ли FQL тайно от Graph API — я знаю, что это да — если да, какая версия Graph API используется при интеграции соответствующего SDK для iOS или Android? Как опять же согласно журналу изменений документации:
Графический API
Изменения с версии 1.0 на версию 2.0 Идентификаторы пользователей на уровне приложения: чтобы лучше защитить информацию людей, когда люди входят в версию вашего приложения, которая была обновлена для использования Graph API версии 2.0, Facebook теперь выдает идентификатор на уровне приложения. ID, а не оригинальный ID этого человека. Однако для пользователей, которые ранее вошли в ваше приложение, идентификатор пользователя не изменится.
App Friends: конечная точка /me/friends больше не включает полный список друзей человека. Вместо этого теперь он возвращает список друзей этого человека, которые также используют ваше приложение. Все запросы к Graph API версии 2.0 требуют токена доступа, за исключением /{id}/picture. Формат конечной точки /me/permissions изменился. Теперь он включает в себя список разрешений и поле статуса, обозначающее, были ли они предоставлены или отклонены. Ссылка на документы
Хотя нет никаких упоминаний о том, что это повлияет на iOS или Android SDK, какие меры я должен принять во внимание, чтобы мое приложение не сломалось. Я ищу ответы из аутентичных источников и прошу те же источники, чтобы сделать эту документацию немного лучше, давай FB ВЫ можете это сделать?