Saya menggunakan kode berikut. Saya ingin Tanggal Lahir, Email dan Jenis Kelamin pengguna. Tolong bantu. Bagaimana cara mengambil data itu?
Ini adalah onViewCreated()
bagian dalam diriku .
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
// Setup TextView.
mTextDetails = (TextView) view.findViewById(R.id.text_details);
// Set up Login Button.
LoginButton mButtonLogin = (LoginButton) view.findViewById(R.id.login_button);
// setFragment only if you are using it inside a Fragment.
mButtonLogin.setFragment(this);
mButtonLogin.setReadPermissions("user_friends");
mButtonLogin.setReadPermissions("public_profile");
mButtonLogin.setReadPermissions("email");
mButtonLogin.setReadPermissions("user_birthday");
// Register a callback method when Login Button is Clicked.
mButtonLogin.registerCallback(mCallbackManager, mFacebookCallback);
}
Ini adalah Metode Callback saya.
private FacebookCallback<LoginResult> mFacebookCallback = new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.d("Shreks Fragment", "onSuccess");
Profile profile = Profile.getCurrentProfile();
Log.d("Shreks Fragment onSuccess", "" +profile);
// Get User Name
mTextDetails.setText(profile.getName() + "");
}
@Override
public void onCancel() {
Log.d("Shreks Fragmnt", "onCancel");
}
@Override
public void onError(FacebookException e) {
Log.d("Shreks Fragment", "onError " + e);
}
};
android
facebook-android-sdk
facebook-sdk-4.0
Sriyank Siddhartha
sumber
sumber
Jawaban:
Itu bukan cara yang tepat untuk mengatur izin saat Anda menimpa mereka dengan setiap pemanggilan metode.
Ganti ini:
Dengan berikut ini, ketika metode
setReadPermissions()
menerima ArrayList:Juga di sini adalah cara untuk meminta data tambahan GraphRequest:
EDIT:
Satu masalah yang mungkin terjadi adalah Facebook menganggap bahwa email Anda tidak valid. Untuk mengujinya, gunakan Graph API Explorer dan cobalah untuk mendapatkannya. Jika bahkan di sana Anda tidak bisa mendapatkan email Anda, ubahlah dalam pengaturan profil Anda dan coba lagi. Pendekatan ini menyelesaikan masalah ini untuk beberapa pengembang yang mengomentari jawaban saya.
sumber
loginButton.setReadPermissions(Arrays.asList("public_profile", "email"));
?Gunakan cuplikan ini untuk mendapatkan semua info profil
sumber
Anda tidak akan mendapatkan Profil di dalam
onSuccess()
Anda perlu menerapkanProfileTracker
bersama dengan mendaftar panggilan balikJuga jangan lupa untuk menangani awal dan berhenti pelacak profil
Sekarang Anda akan memiliki profil untuk mendapatkan AccessToken dari (menyelesaikan masalah profil nol). Anda hanya perlu menggunakan " https://developers.facebook.com/docs/android/graph#userdata " untuk mendapatkan data apa pun.
sumber
Setelah Masuk
sumber
Anda dapat menggunakan kelas GraphRequest untuk mengeluarkan panggilan ke Facebook Graph API untuk mendapatkan informasi pengguna. Lihat https://developers.facebook.com/docs/android/graph untuk info lebih lanjut.
sumber
Ini berfungsi untuk saya, Berharap untuk membantu seseorang (Menggunakan tombol saya sendiri bukan tombol masuk FB)
sumber
Berikut ini adalah kode untuk menemukan id email, nama dan url profil, dll
sumber
Inilah solusi yang berfungsi (2019): masukkan kode ini ke dalam logika login Anda;
sumber
Tambahkan baris ini pada tombol Klik pada
loginButton.setReadPermissions (Arrays.asList ("public_profile", "email", "user_birthday", "user_friends"));
sumber
Gunakan metode statis FB getCurrentProfile () dari kelas Profile untuk mengambil info tersebut.
sumber