【问题标题】:How to authorize my app through facebook and fetch facebook user information using Facebook SDK 3.0如何通过 facebook 授权我的应用程序并使用 Facebook SDK 3.0 获取 facebook 用户信息
【发布时间】:2013-04-11 05:56:07
【问题描述】:

我可以通过集成 Facebook 最新 SDK(即 3.0)从我的应用程序登录到 facebook 但是现在我想获取用户信息,但我找不到这样做的方法。我从谷歌和堆栈获得的所有链接都适用于旧版本的 facebook sdk。另外我想知道如何通过 facebook 授权应用程序。 在旧版本中,我们这样做是:

Facebook facebook = 新 Facebook(appId);

但这些东西在 sdk 3.0 中已被弃用。

请任何人帮助我解决这些问题或提供具有良好教程或示例示例的链接!

谢谢

【问题讨论】:

  • 检查这个developers.facebook.com/docs/getting-started/…你需要在清单中添加appId
  • 感谢您的帮助,但我在清单中这样做了,这就是我能够登录的原因。在你建议的教程中,他们是通过片段来做的,所以没有多大帮助:(

标签: android facebook-android-sdk


【解决方案1】:

一旦你有一个开放的会话,你就会执行一个新的 me 请求。

Session session = Session.getActiveSession();
if (session != null && session.isOpened()) {
        Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {    
        @Override
        public void onCompleted(GraphUser user, Response response) {
            if (user != null) {
                if (response.getError() == null){
                    //Do what you want with the user object
                }
                else {
                    //Do something with the error
                }
            }
        }
    });
}

正如facebook developers page 所说:“您可以访问的用户数据取决于用户授予您的应用程序的权限以及用户选择与应用程序共享的数据。” 因此,您必须针对所需的特定字段添加所需的权限。

对于应用程序授权,您应该遵循适用于 Android 版 Facebook SDK 的Create a Facebook App section。 但是,如果您已经有一个有效的登录名,则不需要进一步的操作。

【讨论】:

  • 我已经有一个工作登录但是当我运行上面给定的代码时它没有返回任何东西。您能否还指导如何添加所需的权限?是不是因为它可能没有权限而没有返回任何东西?
  • @nidhi 你需要让我更清楚。 “它没有返回任何东西”是什么意思?你的意思是你得到一个空用户甚至一个空会话?如果您遵循 SDK 3.0 的说明,使用带有 .setReadPermissions(READ_PERMISSIONS) 的 LoginButton,您可以在登录之前设置您需要的所有读取权限。
  • 我做了简单的演示,效果很好。我想我把项目中的事情搞砸了。感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多