Jak mogę uzyskać zdjęcie użytkownika z przyzwoitą rozdzielczością, z którego można korzystać w aplikacji mobilnej? Spojrzałem na przewodniki i api docs, a zalecanym sposobem wydawało się użycie FirebaseUser#getPhotoUrl(). Powoduje to jednak dodanie adresu URL do zdjęcia o rozdzielczości 50 x 50 pikseli, które jest zbyt niskie, aby mogło być użyteczne. Czy istnieje sposób, aby klient zażądał zdjęcia o wyższej rozdzielczości użytkownika? Testowałem oddzielnie SDONy Loginu Facebook i Google Sign-in, aw obu przypadkach rozdzielczość zdjęć jest wyższa niż to, co daje Autoryzacja Firebase. Dlaczego Firebase Auth zmienia pierwotne rozdzielczości i jak mogę je zmusić, aby tego nie robił? Dzięki.Android Firebase Auth - Uzyskaj zdjęcie użytkownika
7
A
Odpowiedz
1
Czy próbowałeś:
Uri xx = FirebaseAuth.getInstance().getCurrentUser().getPhotoUrl();
6
Wewnątrz onAuthStateChanged (@NonNull FirebaseAuth firebaseAuth)
Spróbuj Jeśli Logowanie przez Facebook:
if (!user.getProviderData().isEmpty() && user.getProviderData().size() > 1)
String URL = "https://graph.facebook.com/" + user.getProviderData().get(1).getUid() + "/picture?type=large";
4
Facebook i Google PhotoURL:
User myUserDetails = new User();
myUserDetails.name = firebaseAuth.getCurrentUser().getDisplayName();
myUserDetails.email = firebaseAuth.getCurrentUser().getEmail();
String photoUrl = firebaseAuth.getCurrentUser().getPhotoUrl().toString();
for (UserInfo profile : firebaseAuth.getCurrentUser().getProviderData()) {
System.out.println(profile.getProviderId());
// check if the provider id matches "facebook.com"
if (profile.getProviderId().equals("facebook.com")) {
String facebookUserId = profile.getUid();
myUserDetails.sigin_provider = profile.getProviderId();
// construct the URL to the profile picture, with a custom height
// alternatively, use '?type=small|medium|large' instead of ?height=
photoUrl = "https://graph.facebook.com/" + facebookUserId + "/picture?height=500";
} else if (profile.getProviderId().equals("google.com")) {
myUserDetails.sigin_provider = profile.getProviderId();
((HomeActivity) getActivity()).loadGoogleUserDetails();
}
}
myUserDetails.profile_picture = photoUrl;
private static final int RC_SIGN_IN = 8888;
public void loadGoogleUserDetails() {
try {
// Configure sign-in to request the user's ID, email address, and basic profile. ID and
// basic profile are included in DEFAULT_SIGN_IN.
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.build();
// Build a GoogleApiClient with access to GoogleSignIn.API and the options above.
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this, new GoogleApiClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
System.out.println("onConnectionFailed");
}
})
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.build();
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent, RC_SIGN_IN);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Result returned from launching the Intent from
// GoogleSignInApi.getSignInIntent(...);
if (requestCode == RC_SIGN_IN) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if (result.isSuccess()) {
GoogleSignInAccount acct = result.getSignInAccount();
// Get account information
String PhotoUrl = acct.getPhotoUrl().toString();
}
}
}
+0
Próbowałem tego na Facebooku i odniosłem sukces. Nie wypróbowałem jeszcze części Google. dzięki – Dika
Powiązane problemy
- 1. Utwórz użytkownika w bazie danych po Firebase Auth (Android)
- 2. Android - Czy znaczniki uwierzytelniania użytkownika Firebase wygasają?
- 3. Firebase Android: utwórz nazwę użytkownika unikatową
- 4. Jak utworzyć użytkownika z Firebase Auth w pliku node.js?
- 5. Firebase Admin Auth Token Revoked
- 6. udało się rozwiązać: com.google.firebase: Firebase-auth: 9.0.0
- 7. Uzyskaj apiKey do bazy Firebase
- 8. Jak korzystać z Firebase Auth z Rails?
- 9. Zestaw Firebase setDisplayName użytkownika podczas tworzenia użytkownika Android
- 10. Funkcje chmurowe dla Firebase - Uzyskaj bieżący identyfikator użytkownika
- 11. Wyłącz usługę AccountChooser for Firebase Auth
- 12. C# Pobierz zdjęcie użytkownika (Avatar)
- 13. Android - Zdjęcie przechwycone
- 14. Autoryzacja Firebase Auth nie jest aktualizowana po zresetowaniu hasła
- 15. Uzyskaj ostatni element w zagnieżdżonych bazie Firebase android
- 16. Android Firebase, po prostu uzyskaj dane jednego obiektu podrzędnego
- 17. Uzyskiwanie błąd na dodaniu zależności dla Firebase-UI-auth
- 18. Funkcje chmurowe dla zdarzeń Firebase Auth dla dostawcy usług społecznościowych
- 19. Android Picasso auto obraca zdjęcie
- 20. Android Obróć zdjęcie przed zapisaniem
- 21. Błąd sieci Firebase Auth w aplikacji Ionic 2
- 22. Zrób zdjęcie automatycznie bez interakcji użytkownika
- 23. pobierz ostatnie zdjęcie zrobione przez użytkownika
- 24. Uzyskaj zdjęcie profilowe z Facebooka za pomocą 3.0 SDK
- 25. Uzyskaj identyfikator użytkownika socket.io, paszport, koa
- 26. Django: importuj auth użytkownika do modelu
- 27. codeigniter ion auth uzyskanie identyfikatora użytkownika
- 28. Uzyskaj adres IP użytkownika
- 29. Android - Firebase jobdispatcher
- 30. Uzyskaj profil użytkownika duże zdjęcie z Facebooka z omniauth w opracowaniu 2.0
Tak, mam. To daje zdjęcie w rozmiarze 50 x 50 pikseli. – mobilekid