我已经看到,使用 Javascript API 并通过 GET 请求,可以从 FanPages 获取公开帖子。 我想要完成的是一个 Android native 应用程序,它不要求用户登录并使用 FB 应用程序访问 token 获取并显示来自 FB 页面的帖子。 我想知道这是否可以通过 Android FB API 实现,因为我可以通过像
这样的 url 来实现https://graph.facebook.com/{page_id}/feed?fields=message,picture&limit=10&access_token={your_acces_token}
当我在没有用户登录的情况下使用 Android Graph API 尝试此操作时,
AccessToken.getCurrentAccessToken()
返回空值
谢谢
最佳答案
我为同样的问题苦苦挣扎了一段时间,经过数小时的研究,我想到了这个 ( source ):
@Override
protected void onCreate(Bundle savedInstanceState) {
FacebookSdk.sdkInitialize(getApplicationContext());
AppEventsLogger.activateApp(getApplication());
AccessToken at = new AccessToken(getString(R.string.facebook_access_token), getString(R.string.facebook_app_id), getString(R.string.facebook_page_id), null, null, null, null, null);
Bundle parameters = new Bundle();
parameters.putString("fields", "message,created_time,link,full_picture");
new GraphRequest(at, "/" + at.getUserId() + "/feed", parameters, HttpMethod.GET, new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
Log.i(this.getClass().getName(), "onCompleted " + response.getRawResponse());
}
}).executeAsync();
}
我假设您已经拥有页面访问 token 。我用 facebook 的图形浏览器创建了我的。这是有关如何创建永不过期的教程: How to get a never expiring Facebook Page Access Token (寻找2016年的方法)
据我所知,扩展 token 只要使用就不会过期。但我不确定。我想我在 facebook api 文档的某处将其标记为红色,但再也找不到了。
您可以设置许多其他参数。看这里Page并寻找“字段”
希望这个笨拙的解决方案对某人有帮助。
关于android - 无需登录即可访问 Facebook Graph API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33531932/