【发布时间】:2015-03-15 01:17:53
【问题描述】:
我正在使用 Java 构建一个 Web 门户;除了其他要求之外,我还在苦苦思索一个非常简单(至少在第一眼看来)的要求: 我的客户希望在他的门户网站上发布他的 facebook 墙的前 N 个帖子 他想阅读他推特页面的前 N 条推文
由于我的java代码是基于Spring的,我想使用spring social、spring social twitter和spring social facebook来满足需求
在推特上我没问题;其实我
- 在 Twitter 上创建了一个应用程序
- 获得了 twitter 应用 ID 和应用密码
- 准备好的代码
几个小时后,一切都很好
问题是从 facebook 开始的,我经常和它斗争 我从 spring social 转到了 facebook4j(因为最后一个在我看来更强大)。 我做了以下
- 在 FB 上创建了一个应用程序
- 获得了 facebook appId 和 appSecret
- 告诉代码我需要 read_stream 权限
- 准备好代码
但我无法阅读墙上的帖子 有没有人能够满足这种情况? 这是我的 facebook4j 代码
private static final Logger log = LoggerFactory.getLogger(FacebookTest.class.getName());
public static void main (String[] a)
{
try
{
ConfigurationBuilder cfgBui = new ConfigurationBuilder();
cfgBui.setDebugEnabled(true);
cfgBui.setOAuthAppId(myAppId);
cfgBui.setOAuthAppSecret(myAppSecret);
cfgBui.setUseSSL(true);
Configuration cfg = cfgBui.build();
FacebookFactory ff = new FacebookFactory(cfg);
OAuthSupport support = new OAuthAuthorization(cfg);
support.setOAuthPermissions("read_stream");
AccessToken appAccessToken = support.getOAuthAppAccessToken();
Facebook face = ff.getInstance(appAccessToken );
ResponseList<Post> posts = face.searchPosts("test");
for (Post post : posts)
{
System.out.println(post.getId());
}
} catch (Exception e)
{
log.error("Errore", e);
}
}
据我了解,我应该需要用户访问令牌,但我不知道如何生成它;我应该创建一个登录流程并向用户显示 FB 登录对话框吗?如果是这样,我为什么要创建应用程序 ID 和应用程序密码?他们在我的场景中没有意义 此外......在我的情况下......服务器端应该在FB上进行身份验证并从众所周知的用户墙(我的客户的墙......)阅读帖子所以......我应该在哪里显示登录对话框? FB登录后应该重定向到哪里?
有没有好心人 :) 谁能给我解释一下 FB 阅读帖子的流程?
【问题讨论】:
标签: java facebook facebook-graph-api spring-social