android facebook sdk - 为openActiveSession设置权限

标签 android facebook session sdk permissions

我正在尝试将 Facebook SDK 集成到 Android 应用程序中。我从 Facebook 手册中获得了代码。它使用 Session.openActiveSession 然后请求图形用户。我如何在不使用 LoginButton 类的情况下请求更多权限?

Session.openActiveSession(this, true, new Session.StatusCallback() {
    @Override
    public void call(Session session, SessionState state, Exception exception) {
        onSessionStateChange(session, state, exception);

        if (session.isOpened()) {
            Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
                @Override
                public void onCompleted(GraphUser user, Response response) {
                    if (user != null) {
                        // got user graph
                    } else {
                        // could not get user graph
                    }
                }
            });
        }
    }
});

谢谢。

最佳答案

试试这个:

mCallback = new Session.StatusCallback() {...}; // the code you already have

Session.OpenRequest request = new Session.OpenRequest(mContext);
request.setPermissions(Arrays.asList("email", "user_birthday"));
request.setCallback(mCallback );

// get active session
Session mFacebookSession = Session.getActiveSession();
if (mFacebookSession == null || mFacebookSession.isClosed()) 
{
    mFacebookSession = new Session(mContext);
    Session.setActiveSession(mFacebookSession);
}
mFacebookSession.openForRead(request);

关于android facebook sdk - 为openActiveSession设置权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20565843/

相关文章:

android - 窗口背景 Material 设计兼容性

ios - Facebook 身份验证后 View 延迟显示

java - 当用户未使用 Servlet 登录时如何重定向到索引页面?

PHP 在 session 过期时运行脚本

facebook - AWS 负载均衡器超时问题且 Node/Express 中没有错误

php - session 中有多个值,但只有第一个值会发送到数据库

java - 从 Google 企业帐户获取日历 Activity

android - 是否有任何原生视频控件支持字幕?

android - Android Studio 更新后突然我的 Java 和 Xml 文件改变了

javascript - 如何在加载 facebook like box 插件后立即运行某些功能?