我需要构建一个服务器,它可以获取各种公司/品牌的公共提要详细信息。例如,我应该能够获得Cocacola(facebook.com/cocacolaindia)、百事可乐、Levis等上周的订阅源。由于我只是在寻找公共订阅源,我认为我不需要使用OAuth进行授权,但我看不到其他方法可以获得这些信息。例如,我尝试了下面的代码,但最后三种方法都不起作用。
String acessTok = "{my app id}|{app seceret key}"; //App level token
Facebook facebook = new FacebookTemplate(acessTok);
FacebookProfile profile = facebook.userOperations().getUserProfile("cocacolaIndia");
Page page = facebook.pageOperations().getPage("cocacolaIndia");
List<Post> list= facebook.feedOperations().getFeed("cocacolaIndia");
有出路吗?我可以使用httpurl调用http://graph.facebook.com/和
解析json,但需要我自己的api来获得我不想做的不同字段。
您可以使用应用程序访问令牌。下面是一些RestFB的例子。
AccessToken accessToken = new DefaultFacebookClient().obtainAppAccessToken(MY_APP_ID, MY_APP_SECRET);
现在,您可以使用这个新的访问令牌构建您的FacebookClient
。
使用fetchConnection
,您可以从所需的"粉丝页面"获取公共帖子。
我也遇到了同样的问题。我试图只使用AppId
和AppSecret
访问Facebook页面的公共帖子。
以下对我有效:
private Facebook facebook;
...
this.facebook = new FacebookTemplate("{AppId}|{AppSecret}");
...
Collection<Post> posts =this.facebook.feedOperations().getPosts("{PageId}");
我希望这会有所帮助。