首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用spring-social-facebook在java中执行简单的FQL查询

使用spring-social-facebook在java中执行简单的FQL查询
EN

Stack Overflow用户
提问于 2014-01-07 09:46:54
回答 2查看 907关注 0票数 0

对于春季社交facebook图书馆的实现,我会非常感激。我正在尝试执行FQL查询,但是facebook给我发送了空的结果。如果我在中执行相同的查询,它的工作原理就像一个魅力。我检查了所有权限。我的代码是这样的:

代码语言:javascript
复制
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);

谢谢你的建议

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-09 09:17:05

好的。这对我起了作用:

代码语言:javascript
复制
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);
票数 1
EN

Stack Overflow用户

发布于 2014-01-07 12:54:46

我通过简单的HTTP请求使用具有足够权限的有效令牌对"faceBookURL“进行了同样的操作,您可以使用以下命令:

代码语言:javascript
复制
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;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20968402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档