Quería usar el inicio de sesión de Facebook en la aplicación. Obtuve con éxito el token de acceso de Facebook e incluso la información del usuario {id: '###', nombre: '###'}. Pero quería que el correo electrónico de los usuarios y otra información de perfil público registraran su correo electrónico y otros detalles. Cómo puedo hacer eso. El siguiente es mi código... ¿Mis valores de alcance son incorrectos? ¿Cómo puedo obtener información de perfil público, particularmente correo electrónico para registrarlo en mi aplicación?
const getFbToken = async (code) => { const tokenUrl = "https://graph.facebook.com/v12.0/oauth/access_token"; const queryValues = { code, client_id: FB_APP_ID, client_secret: FB_SECRET, redirect_uri: redirect_uri, // address must match with google redirect uri scope:"user_about_me,read_stream,publish_actions,user_birthday,offline_access,email", }; const token = await axios .get(tokenUrl, { headers: { "Content-Type": "application/json", }, params:queryValues }) .then((res) => { console.log('response', res.data) return res.data } ) // returns {{access_token, refresh_token, Authorization Bearer and id_token}} .catch((error) => { console.error(`Failed to fetch auth tokens`, error.response.data); }); console.log(token); return token; }; const getFbUser = async (access_token, token_type) => { const fbUser = await axios .get( `https://graph.facebook.com/me`, { headers: { Authorization: `Bearer ${access_token}`, "Content-Type": "application/json", }, } ) .then((res) => res.data) .catch((error) => { console.error(`Failed to fetch user`); throw new Error(error.message); }); console.log('fbUser',fbUser) return fbUser;