¿Cómo hago para que Firebase Auth funcione con la API de Google Drive?
Al usar reaccionar, tengo la autenticación de base de fuego funcionando y la unidad de Google (gapi) que funcionan individualmente, pero estoy luchando por fusionar los dos.
Con Firebase 9, se ha facilitado el acceso a la API de Google: This gives you a Google Access Token. You can use it to access Google APIs.
Mi idea es obtener el token y luego pasarlo a la función gapi .init . Sin embargo, no estoy seguro de adónde ir después de eso. ¡Cualquier orientación en la dirección correcta sería muy apreciada!
import { getAuth, getRedirectResult, GoogleAuthProvider } from "firebase/auth"; onst auth = getAuth(); signInWithPopup(auth, provider) .then((result) => { // 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;Mi implementación gapi:
useEffect(() => { window.gapi.load("client:auth2", initClient); }, []); useEffect(() => { if (authState) { authState.isSignedIn.listen(updateSigninStatus); } }, [authState]); const initClient = () => { 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(() => { const authInstance = window.gapi.auth2.getAuthInstance(); setAuthState(authInstance); }); } catch (err) { console.log(err); } }; const signInFunction = () => { authState.signIn(); updateSigninStatus(); }; const signOutFunction = () => { authState.signOut(); }; const updateSigninStatus = () => { setSigninStatus(); }; const setSigninStatus = async () => { //code... } } };