2015-08-21 3 views
0

Я работаю над обновлением до графика api, я обновил банку restfb от 1.6 (v1.x) до 1.13 (v2.3) мое приложение делает 2 вещи 1) разместите документ на facebook 2) получить комментарии к этому сообщению.
У меня проблемы с частью 2. Для получения комментариев у моего приложения есть задание cron, которое выполняется каждый мин, чтобы узнать, что представляет собой новый идентификатор сообщения для данного идентификатора приложения, и на основе этого postid он извлекает комментарии, он использовал fql для этого потому что он был поддержан в 1.6, но, как я читаю, я обнаружил, что fql устарел для v2.1 и выше. , но я нашел в restfb, например, что вы можете создать маркер для старой версии 2.0 и до сих пор называют FQL что-то вроде этогоfql query wth restfb 1.13

facebookClient20 = new DefaultFacebookClient(accessToken, Version.VERSION_2_0); 

void query() { 

List<FqlUser> users = 
     facebookClient20.executeFqlQuery("SELECT uid, name FROM user WHERE uid=4 or uid=11", FqlUser.class); 

out.println("User: " + users); 

} 

Я пытаюсь сделать что-то вроде этого .. Я попытался выше решение, но это не сработало,

String wallPost = String.format("SELECT post_id, message, actor_id, created_time, updated_time FROM stream WHERE source_id = %1$s AND actor_id <> %1$s AND created_time > %2$s ORDER BY created_time", userId, lastUpdatedTime); 
      queries.put("wallPosts", wallPost); 
FqlMulti fqlMulti = facebookClient.executeFqlMultiquery(queries,FqlMulti.class); 

это дает мне

com.restfb.exception.FacebookOAuthException: Received Facebook ошибка ответ типа OAuthException: (# 12) FQL является устаревшим для версий v2.1 и выше (код 12, субкодовое нуль) в com.restfb.DefaultFacebookClient $ DefaultGraphFacebookExceptionMapper.exceptionForTypeAndMessage (DefaultFacebookClient.java:1239) в com.restfb.DefaultFacebookClient.throwFacebookResponseStatusExceptionIfNecessary (DefaultFacebookClient. Java: 1154) на com.restfb.DefaultFacebookClient.makeRequestAndProcessResponse (DefaultFacebookClient.java:1087) на com.restfb.DefaultFacebookClient.makeRequest (DefaultFacebookClient.java:998) на com.restfb.DefaultFacebookClient.executeFqlMultiquery (DefaultFacebookClient .java: 615) по адресу com.piersystem.con nectors.facebook.FacebookConnector.processIncoming (FacebookConnector.java:142)

поэтому мой вопрос:

1) есть ли альтернатива для этого, restfb документации не заявляет об этом в ограничении, 2) какова альтернатива.

ответ

0

Вы должны проверить свое приложение для Facebook. Кажется, что версия не 2.0, как вам нравится. Это происходит, если у вас есть новое приложение facebook, потому что старые версии графов не поддерживаются. RestFB может определять только предпочтительную версию, но Facebook может переопределить ее.

Почему вы не используете версию 1.14.0 RestFB?

+0

Я использую последний restfb.jar, но поскольку мое приложение искало fql, я хотел обновиться до более новой версии restfb с минимальными изменениями ... Я знаю, что в v2.x fql устарел, но я пытался использовать пример кода, приведенного в примере restfb.jar, так что я все еще могу использовать fql и иметь меньше изменений в получении комментариев. – user3499656

Смежные вопросы