也许你能帮我做点什么。我想使用 Spring Social 在 Facebook 页面上获取所有公开可用的帖子。
我不需要对某个用户或某事进行 OAuth 身份验证,因为我不想以某人的名义发布、评论或任何内容。
尽管如此,Facebook 仍需要在发出请求时传递访问令牌。所以我正在执行以下操作来获取所有公共帖子。
现在我的问题是:有没有更简单、更简洁的方法来做到这一点,或者 Spring Social 是否只支持完整的用户身份验证 OAuth 舞蹈而不是这种相当简单的方法?
public List<Post> fetchFacebookPosts() {
String accessTokenUrlString = String.format("https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=%s&client_secret=%s&redirect_url=%s", getFacebookAppId(), getFacebookAppSecret(), "http://www.return.url");
String token = "";
try {
// HTTPURLConnection stuff omitted
// returns: accessToken=xxxx|xxxxxxxxxxxxx
token = response.toString().substring(response.toString().indexOf("=")+1);
} catch (IOException e) {
// ...
}
FacebookTemplate facebookTemplate = new FacebookTemplate(token);
return facebookTemplate.feedOperations().getFeed("12345678");
}