Использование Firebase Auth и gAPI?

# #javascript #reactjs #firebase #google-api-js-client

Вопрос:

Как заставить Firebase Auth работать с Google drive api?

Используя react, у меня есть авторизация firebase и Google диск (gapi), которые работают по отдельности, но я изо всех сил пытаюсь объединить их.

С Firebase 9 доступ к Google API стал проще: This gives you a Google Access Token. You can use it to access Google APIs.

Я думаю о том, чтобы получить токен, а затем передать его функции gapi .init . Однако я не уверен, куда после этого идти. Любые указания в правильном направлении будут высоко оценены!

 import { getAuth, getRedirectResult, GoogleAuthProvider } from "firebase/auth";  onst auth = getAuth(); signInWithPopup(auth, provider)  .then((result) =gt; {  // This gives you a Google Access Token. You can use it to access the Google API.  const credential = GoogleAuthProvider.credentialFromResult(result);  const token = credential.accessToken;  

Моя реализация gapi:

 useEffect(() =gt; {  window.gapi.load("client:auth2", initClient);  }, []);   useEffect(() =gt; {  if (authState) {  authState.isSignedIn.listen(updateSigninStatus);  }  }, [authState]);   const initClient = () =gt; {  try {  window.gapi.auth2  .init({  apiKey: "API KEY...",  clientId:  "CLIENT ID...",  scope: "https://www.googleapis.com/auth/drive",  discoveryDocs: [  "https://www.googleapis.com/discovery/v1/apis/drive/v3/rest",  ],  })  .then(() =gt; {  const authInstance = window.gapi.auth2.getAuthInstance();  setAuthState(authInstance);  });  } catch (err) {  console.log(err);  }  };   const signInFunction = () =gt; {  authState.signIn();  updateSigninStatus();  };   const signOutFunction = () =gt; {  authState.signOut();  };   const updateSigninStatus = () =gt; {  setSigninStatus();  };   const setSigninStatus = async () =gt; {  //code...  }  }  };