相关疑难解决方法(0)

使用新的Facebook Android SDK访问用户电子邮件

嗨,我正在玩新的Facebook Android SDK.我无法弄清楚的一件事是我如何要求电子邮件地址.我尝试了以下但它返回了除电子邮件地址以外的所有字段的值.我想我可能需要单独询问电子邮件地址的权限,但如果我使用LoginFragment,我不知道如何做到这一点.

Request request = Request.newMeRequest(session, new GraphUserCallback() {

    @Override
    public void onCompleted(GraphUser user, Response response) {
        profilePictureView.setUserId(user.getId());
        userNameView.setText(user.getName());
    }
});

String NAME = "name";
String ID = "id";
String PICTURE = "picture";
String EMAIL = "email";
String FIELDS = "fields";
String REQUEST_FIELDS = TextUtils.join(",", new String[] {
    ID, NAME, PICTURE, EMAIL
});

Bundle parameters = new Bundle();
parameters.putString(FIELDS, REQUEST_FIELDS);
request.setParameters(parameters);
Request.executeBatchAsync(request);
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.谢谢

android facebook-android-sdk

19
推荐指数
3
解决办法
3万
查看次数

如何从Android应用程序中的Facebook sdk获取电子邮件ID?

我在我的Android应用程序中集成了Facebook登录.我想获取登录用户的电子邮件ID.我怎么得到它?

private void loginToFacebook() {
    Session.openActiveSession(this, true, new Session.StatusCallback() {

        @Override
        public void call(Session session, SessionState state, Exception exception) {
            if (session.isOpened()) {
                Log.i(TAG, "Access Token" + session.getAccessToken());
                Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
                    @Override
                    public void onCompleted(GraphUser user, Response response) {
                        if (user != null) {
                            try {

                                 userID =user.getId();
                                 provider="facebook";
                                 userName=user.getUsername();
                                 firstName=user.getFirstName();
                                 lastName=user.getLastName();
                                 Log.d("****User****", "details:" + user);
                                 }catch(Exception e){
Run Code Online (Sandbox Code Playgroud)

这是我的代码.我使用 Request.GraphUserCallback()方法,但此方法没有电子邮件的回复.

android facebook-graph-api

12
推荐指数
1
解决办法
4万
查看次数

使用Facebook SDK 3.0.1 for Android获取电子邮件地址

我目前正在开发一个旨在通过Facebook帐户验证任何用户的应用程序.

我无法从用户的帐户获取用户电子邮件.我的代码如下

    private void signInWithFacebook() {

    SessionTracker mSessionTracker = new SessionTracker(getBaseContext(), new StatusCallback() {

        public void call(Session session, SessionState state, Exception exception) {

        }
    }, null, false);

    String applicationId = Utility.getMetadataApplicationId(getBaseContext());
    Session mCurrentSession = mSessionTracker.getSession();

    if (mCurrentSession == null || mCurrentSession.getState().isClosed()) {
        mSessionTracker.setSession(null);
        Session session = new Session.Builder(getBaseContext()).setApplicationId(applicationId).build();
        Session.setActiveSession(session);
        mCurrentSession = session;
    }

    if (!mCurrentSession.isOpened()) {
        Session.OpenRequest openRequest = null;
        openRequest = new Session.OpenRequest(FacebookLoginActivity.this);

        if (openRequest != null) {
            openRequest.setDefaultAudience(SessionDefaultAudience.FRIENDS);
            openRequest.setPermissions(Arrays.asList("user_birthday", "email", "user_location"));
            openRequest.setLoginBehavior(SessionLoginBehavior.SSO_WITH_FALLBACK);

            mCurrentSession.openForRead(openRequest);
        }
    }else {
        Request.executeMeRequestAsync(mCurrentSession, new …
Run Code Online (Sandbox Code Playgroud)

android facebook facebook-graph-api facebook-android-sdk

1
推荐指数
1
解决办法
2万
查看次数