gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 14:18:34 25 4
gpt4 key购买 nike

我目前正在开发一个旨在通过使用 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 Request.GraphUserCallback() {
public void onCompleted(GraphUser user, Response response) {
Log.w("myConsultant", user.getId() + " " + user.getName() + " " + user.getLink() + " "+ response);
}
});
}
}

我正在使用适用于 Android 的 Facebook SDK 3.0.1。我已经设置了 Facebook Graph Api 所需的权限。在响应xml中,没有像email这样的字段。Facebook Sdk 文档不够好,我不知道如何获取电子邮件地址。

提前致谢。

最佳答案

电子邮件不是返回的默认字段。相反,您应该创建一个 meRequest,并向其传递一个参数,例如:fields=email。

Request me = Request.newMeRequest(mCurrentSession, new GraphRequestCallback() {...});
Bundle params = me.getParameters();
params.putString("fields", "email,name");
me.setParameters(params);
me.executeAsync();

关于android - 使用 Facebook SDK 3.0.1 for Android 获取电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16014117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com