Estoy tratando de obtener datos de la consola de búsqueda de Google https://www.googleapis.com/webmasters/v3/sites , pero desde el backend de Node, no desde el front-end, he creado ID de cliente de OAuth 2.0 y clave API en la consola de API de Google. Pero puedo encontrar la manera de conectarme.
Estoy siguiendo esta guía https://googleapis.dev/nodejs/googleapis/latest/searchconsole/index.html
Solo quiero poder hacer solicitudes de lectura desde node.
probé esto
import { google } from 'googleapis' const auth = new google.auth.OAuth2( YOUR_CLIENT_ID, YOUR_CLIENT_SECRET, YOUR_REDIRECT_URL ); google.options({ auth }) const searchconsole = google.webmasters({ version: 'v3', auth }) const sites = await searchconsole.sites.list({}) console.log(sites)Recibo este error aunque todas las credenciales son correctas
'Error: No access, refresh token, API key or refresh handler callback is set.'De acuerdo con los comentarios, parece que ya tiene las piezas de autorización funcionando, ahora, si desea enumerar los sitios para obtener datos de análisis de búsqueda para cada sitio propiedad del usuario que autoriza, puede hacer algo como el siguiente código:
| Utilice la API de la consola de búsqueda de Google | Ejecutar en Fusebit |
|---|
const webmasters = googleClient.webmasters('v3'); // List the owned sites const sites = await webmasters.sites.list({}); const sitesAnalytics = []; for await (const site of sites.data.siteEntry) { const response = await webmasters.searchanalytics.query({ siteUrl: site.siteUrl, requestBody: { startDate: '2021-01-01', endDate: new Date().toISOString().split('T')[0], }, }); sitesAnalytics.push({ site, analytics: response.data}); } console.log = `Got a successful response from Google Search Console: ${JSON.stringify(sitesAnalytics)}`;