質問

I would appreciate little help with spring-social-facebook library implementation. I am trying to execute FQL query but facebook sends me empty result. If I execute same query in Facebook Graph API Explorer it works like a charm. I have all permissions checked. My code is like this:

private static final String FQL_GET_FRIENDS = "SELECT uid, name FROM user WHERE uid IN(SELECT uid2 FROM friend WHERE uid1 = me())";

Facebook facebook = new FacebookTemplate(token);
List<Reference> references = facebook.userOperations().search(FQL_GET_FRIENDS);

Thank you for your suggestions

役に立ちましたか?

解決

Ok. This worked for me:

MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
        parameters.set("q", FQL_GET_FRIENDS);
Map<String, Object> resultSet = (Map<String, Object>) facebookTemplate
                .fetchObject("fql", Map.class, parameters);

他のヒント

I had done same via a simple HTTP Get Request to "faceBookURL" with a valid token with sufficient permissions, you could use this ::

private static String STR_FACEBOOK_FQL_URL = "https://api.facebook.com/method/fql.query?query=";
private static String STR_FACEBOOK_RETURN_FORMAT = "&format=json";
private static String STR_FACEBOOK_ENCODE_FORMAT = "UTF-8";
private static String STR_FACEBOOK_ACCESS_TOKEN = "&access_token=";

private static final String FQL_GET_FRIENDS = "SELECT uid, name FROM user WHERE uid IN(SELECT uid2 FROM friend WHERE uid1 = me())";

String encodedQuery = URLEncoder.encode(FQL_GET_FRIENDS, STR_FACEBOOK_ENCODE_FORMAT);
String faceBookURL = STR_FACEBOOK_FQL_URL + encodedQuery + STR_FACEBOOK_RETURN_FORMAT
        + STR_FACEBOOK_ACCESS_TOKEN + token;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top