Este es el script background.js de mi extensión de Chrome. Estoy tratando de obtener un valor de una hoja de cálculo usando las API de Hojas. Cualquiera puede leer la hoja, por lo que pensé que no necesitaría ningún permiso/alcance de OAuth2 e inicio de sesión.
if (message.action == 'clicked') { if (!connected){ var user = message.user; var range = 'Teachers!A:A'; let fetch_url = `https://sheets.googleapis.com/v4/spreadsheets/${spreadsheetId}/values/${range}`; fetch(fetch_url) .then(res => res.json()) .then(res => { console.log(res); }) }; }Cuando intento buscar, recibo este error:
error: {code: 403, message: 'The request is missing a valid API key.', status: 'PERMISSION_DENIED'}¿Qué tiene de malo mi lógica? ¿No puedo evitar tener que registrar personas?
Necesitaba ir a Google Cloud Console y crear una clave API (y es mejor restringirla a Sheets API por seguridad).
Tomé esa clave, la guardé como una variable y la incluí en la URL de búsqueda de esta manera:
let fetch_url = `https://sheets.googleapis.com/v4/spreadsheets/${spreadsheetId}/values/${range}?key=${API_KEY}`;¡Trabajó!
no está leyendo la clave ${spreadsheetId} , asegúrese de que esté vinculada correctamente porque ese error ocurre cuando no proporciona una clave API correcta