[英]How to get twitter screen name in Firebase auth
嗨,我不知道如何從 getprovidersData() 獲取 twitter 屏幕名稱,因為它正在返回一個列表,當我迭代列表時,它給出的數據如下
D/Twitter 數據:: com.google.android.gms.internal.zzafv@4f19ea4 D/Twitter 數據:: com.google.android.gms.internal.zzafv@eb40d
List proData = mFirebaseUser.getProviderData();
for (Object ui:proData
) {
Log.d("Twitter Data:",ui.toString());
}
我將如何從中獲得 twitter 使用屏幕名稱。
謝謝!
此代碼源自文檔中提供的示例。 請在使用 Twitter 登錄后嘗試運行它,以查看顯示名稱是否是您期望的屏幕名稱。
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
for (UserInfo profile : user.getProviderData()) {
if (profile.getProviderId().equals(TwitterAuthProvider.PROVIDER_ID)) {
// UID specific to the provider
String uid = profile.getUid();
// Name, email address, and profile photo Url
String name = profile.getDisplayName();
String email = profile.getEmail();
Uri photoUrl = profile.getPhotoUrl();
Log.i("DEBUG", String.format("uid=%s name=%s email=%s url=%s",
uid, name, email, photoUrl));
}
}
}
您需要 4 件事來獲取 twitter 用戶詳細信息,包括 screen_name。
1 和 2 您可以從 twitter 應用儀表板獲得。
當用戶使用 firebase auth 成功登錄時,將在authResult
對象中的signInSuccessWithAuthResult
回調函數中給出 3 和 4。 這 4 個應該進入 GET api 調用的標頭請求 -> https://api.twitter.com/1.1/account/verify_credentials.json
更多信息: https : //developer.twitter.com/en/docs/accounts-and-users/manage-account-settings/api-reference/get-account-verify_credentials
https://www.npmjs.com/package/twitter
或者只需在標題中使用您的 Bearer 調用https://api.twitter.com/2/users/$userID
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.