0
Googleアカウントを使用してログインしたユーザーからデータを取得したいとします。ログインできてトークンを受け取ることができますが、データを取得できません。それは単にそれが応答しないようです。エラーがスローされません、それだけではあなたが重いネットワークのことをやっているthis.logIn();
への呼び出しのためのawait
あなたはJavaScriptをで非同期機能との約束をよく読んおすすめ Expo Google APIからのデータのネイティブフェッチ
async logIn() {
try {
const result = await Expo.Google.logInAsync({
androidClientId: '645999128246-gv9drk3gtad84ikeifg37p4k5phdu705.apps.googleusercontent.com',
// iosClientId: '116235701426-lsptd400ahlctrlveoe4vlg96hcjne51.apps.googleusercontent.com',
scopes: ['profile', 'email'],
});
if (result.type === 'success') {
console.log(result.accessToken);
getUserInfo(result.accessToken);
return result.accessToken;
} else {
return {cancelled: true};
}
} catch(e) {
return {error: true};
}
}
getUserInfo(accessToken) {
fetch('https://www.googleapis.com/userinfo/v2/me', {
headers: { Authorization: `Bearer ${accessToken}`},
}).then(res => {console.log(res)});
}
render() {
this.logIn();
(...)