也许你可以帮我做点什么。我想使用 Spring Social 获取 Facebook 页面上的所有公开帖子。
我不需要对特定用户或其他内容进行 OAuth 身份验证,因为我不想以某人的名义发帖、评论或进行任何其他操作。
尽管如此,Facebook 仍要求在发出请求时传递访问 token 。因此,我正在执行以下操作来获取所有公共(public)帖子。
现在我的问题是:有没有一种更简单、简洁的方法来做到这一点,或者 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");
}
最佳答案
要获取 Facebook 页面的提要,您甚至可以使用最基本的访问 token ,即应用程序访问 token
,而无需用户登录/授权。
String appAccessToken = APP-ID + '|' + APP_SECRET;
在这些文章中详细了解不同的访问 token :
关于无需用户登录的 Facebook 页面提要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25040565/