私に完全に異なる番号を与えるあなたは、コード内GraphRequest
使用することができます使用してサインインする:あなたは、ユーザーのFacebookを取得することができますGraph Request
応じて
List<String> permissionNeeds = Arrays.asList(
"public_profile", "email", "user_birthday", "user_friends");
loginButton.setReadPermissions(permissionNeeds);
loginButton.registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
try {
GraphRequest request = GraphRequest.newMeRequest(
loginResult.getAccessToken(),
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
// Application code
try {
Log.v("FACEBOOK LOGIN", response.toString());
String fb_id = object.getString("id"); //FaceBook User ID
String fb_name = object.getString("name");
String fb_email = object.getString("email");
String profilePicUrl = "https://graph.facebook.com/" + fb_id + "/picture?width=200&height=200";
} catch (Exception e) {
e.printStackTrace();
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email,picture.type(small)");
request.setParameters(parameters);
request.executeAsync();
} catch (Exception e) {
Log.d("ERROR", e.toString());
}
}
@Override
public void onCancel() {
Log.d("FACEBOOK ERRROR", "cancelled");
}
@Override
public void onError(FacebookException exception) {
Log.d("FACEBOOK ERRROR", exception.toString());
}
});
をイド、名前、画像、その他の関連情報
おかげで、わからないと見たものであるが、私は([FirebaseUI] httpsを使用://github.com/firebase/FirebaseUI-Android/blob/4e7bce15b2c5ca207fb3f12e4e5e1ff2dfb15ec2/auth/src/main/java/com/firebase/ui/auth/provider/FacebookProvider.java)を使用してサインインフローを処理し、既に実行しています'GraphRequest'です。私はFacebookにサインインしていますので、簡単な方法でユーザーIDを取得できると思いました –
これは非常に厳しい方法ではありません。正しい結果を返すための保証された方法です....あなたはあなたの 'onSuccess (最終LoginResult loginResult) 'IDを取得するコード – rafsanahmad007
ありがとうございます。昨日、サンプルを表示するときに 'GraphRequest'を試しましたが、問題はいつも「Facebookのメールを取得できませんでした。org.json.JSONException:電子メールの値がありません」でした。 Facebookアカウントには電話番号と電子メールが両方あるので、それはうまくいきません。 –