0
あなたのメールのFacebookが存在するかどうかをチェックし、存在しない場合は "No mail found"と設定してください。 コードは正しいですが、Facebookのボタンをクリックしても、存在しない電子メールでエラーが発生するため、何も起こりません。 私は既に自分のユーザートークンでチェックしており、Facebookアカウントにはメールがありません。明らかに、それは電子メールの文字列なしで完全に動作します。facebook-mailが存在するかどうかを確認してください。
これは私のコードです:
loginButtonFb.setReadPermissions("user_friends", "email");
loginButtonFb.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
new GraphRequest(
AccessToken.getCurrentAccessToken(),
loginResult.getAccessToken().getUserId(),
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
try {
JSONObject data = response.getJSONObject();
login_name = data.getString("name");
String idFb = data.getString("id");
String mailFb = data.getString("email");
String method = "loginFb";
BackgroundTaskLogin backgroundTask = new BackgroundTaskLogin(mContext);
backgroundTask.execute(method, login_name, idFb, mailFb);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
).executeAsync();
}
@Override
public void onCancel() {
Toast.makeText(mContext, "Login attempt canceled.", Toast.LENGTH_LONG).show();
}
@Override
public void onError(FacebookException e) {
Toast.makeText(mContext, "Login attempt failed.", Toast.LENGTH_LONG).show();
}
});
は、あなたのAPIへのアクセスは、ユーザーの電子メールアドレスを取得する権利を持っていますか? – manabreak
はい、Facebook用のメールはありません。既に確認済みです – Carlo