android - 无需登录即可访问 Facebook Graph API

标签 android facebook facebook-graph-api

我已经看到,使用 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/

相关文章:

objective-c - Facebook 错误代码 102 与 sdk 3.6

ios - Facebook 图形 API 浏览器 : get friends of friends

facebook 说缺少以下必需属性 : og:url, og :type, og :title, og :image, og :description, fb:app_id

Android Firebase 更改多个值

android - 我们可以检查列表中是否存在重复的图像吗?

android - OpenGL 纹理到 AHardwareBuffer

ios - Firebase authWithOPopup ("facebook") 不会重定向,留在白屏上

Android:编写仅获取/设置您的 Facebook 状态、发送 Facebook 消息和请求好友的应用程序的最佳方式/库?

android - 按下按钮时连续增加整数值

facebook - 无法使用 ionic 登录(无法通过网络浏览器进行身份验证)