вот чего я пытаюсь достичь, я пытаюсь распечатать изображение профиля и имя пользователя, когда я уже вошел в систему, используя проверку подлинности firebase в ионном приложении, я хочу чтобы получить изображение профиля и мое имя пользователя, как мне это сделать?Как получить профиль pic и имя пользователя правильно в google auth с помощью angularfire2 от firebase3
Вот мой app.component.ts:
export class MyApp {
rootPage:any = LoginPage;
constructor(platform: Platform, private auth: FirebaseAuth) {
this.auth.subscribe((data) =>{
if(data){
window.localStorage.setItem('uid', data.auth.uid);
window.localStorage.setItem('displayName', data.auth.displayName);
window.localStorage.setItem('photoUrl', data.auth.photoURL);
this.rootPage = HomePage;
}
})
platform.ready().then(() => {
// Okay, so the platform is ready and our plugins are available.
// Here you can do any higher level native things you might need.
StatusBar.styleDefault();
Splashscreen.hide();
});
}
}
там в моем app.component.ts я установить идентификатор пользователя, имя пользователя и photoURL , но когда я пытаюсь напечатать его в HTML, его не появляется, он сказал нуль для моего «имя пользователя» и пустой URL для моего «photoURL»
вот мой login.ts код:
export class LoginPage {
constructor(public nav: NavController, private auth: FirebaseAuth) {}
ionViewDidLoad() {
console.log('Hello LoginPage Page');
}
LoginGoogle(){
this.auth.login({
provider: AuthProviders.Google,
method: AuthMethods.Redirect
}).then((data)=>{
this.nav.setRoot(HomePage);
})
}
}
и вот мой home.ts:
export class HomePage {
firelist: FirebaseListObservable<any>;
chat:any;
constructor(public navCtrl: NavController, private af:AngularFire, private auth: FirebaseAuth) {
this.firelist = this.af.database.list('/chat',
{
query:{
orderByChild: 'negativtimestamp'
}
});
}
chatSend(va,vi){
this.af.database.list('/chat').push({
uid: window.localStorage.getItem('uid'),
username : window.localStorage.getItem('displayName'),
img : window.localStorage.getItem('photoURL'),
chat_text: va.chatText,
timestamp: Date.now(),
negativtimestamp: -Date.now()
})
this.chat = '';
console.log(window.localStorage.getItem('displayName'));
}
logout(){
window.localStorage.removeItem('uid');
window.localStorage.removeItem('displayName');
window.localStorage.removeItem('photoURL');
this.auth.logout();
this.navCtrl.setRoot(LoginPage);
}
}
вот мой home.html
<ion-content>
<ion-list>
<ion-item *ngFor="let item of firelist | async">
<ion-avatar>
<img src="{{item.img}}"/>
</ion-avatar>
<h2 class="chat-username">{{item.username}}</h2>
<p class="chat-text">{{item.chat_text}}</p>
<h6 class="chat-time">{{item.timestamp}}</h6>
</ion-item>
</ion-list>
</ion-content>
<ion-footer>
<form #f="ngForm">
<ion-grid>
<ion-row>
<ion-col width-80>
<ion-input [(ngModel)]="chat" name="chatText" placeholder="pesan.."></ion-input>
</ion-col>
<ion-col>
<button (click)="chatSend(f.value, f.valid)" full [disabled]="f.valid === false">Send</button>
</ion-col>
<ion-col>
<button (click)="logout()">Logout</button>
</ion-col>
</ion-row>
</ion-grid>
</form>
</ion-footer>
UPDATE: вот моя firebase консоль для пользователя, он сказал, я уже вошли в систему, я проверить на дату последнего входа, да я вошел в эту дату в
Вот моя firebase база данных для «поболтать» таблицы:
Я уже добавляю "?" оператор вопросительной метки, он не работает, он даже не вносит никаких изменений. –
Можете ли вы проверить консоль firebase, что вы действительно добавляете свои данные? – Yevgen
Я уже обновляю свой скриншот консоли firebase по моему вопросу, да, я действительно вхожу в эту дату –