/api/v4/connected-accounts/connect-googleConecta una cuenta de Google
Devuelve una URL de OAuth para vincular una cuenta de Google Business Profile a tu cuenta de Listings API.
Parámetros
Cuerpo
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| input | object | obligatorio | Wrapper object. The entire request body must be nested under `input`. |
| input.successUrl | string | obligatorio | URL the user is redirected to after they successfully authorize Google. Must be an absolute https URL you control. |
| input.errorUrl | string | obligatorio | URL the user is redirected to if they cancel or the authorization fails. Must be an absolute https URL you control. |
Solicitud de ejemplo
Cuerpo listo para pegar. Sustituye los ID y valores de ejemplo por los tuyos.
{ "input": { "successUrl": "https://listingsapi.com/docs/api/connected-accounts-trigger-matches", "errorUrl": "https://listingsapi.com/docs/api/connected-accounts-connect" }}Respuestas
200OAuth URL generated successfully. Redirect the user to `url` to begin the Google authorization flow. The `url` shown is a placeholder; send the user to the `url` returned in your own response.
{ "data": { "bulkConnectLinkForGoogle": { "errors": null, "success": true, "url": "https://connect.example.com/oauth?token=8f3c1d92-..." } }}400Bad request, the body was not wrapped in `input`, or `successUrl`/`errorUrl` was omitted (error message: `Variable "$input" of required type "GoogleOauthBulkInput!" was not provided`).
401Unauthenticated, missing or invalid API key.
Genera una URL de OAuth de corta duración que un usuario visita para autorizar a Listings API a gestionar sus ubicaciones de Google Business Profile de forma masiva. Redirige al usuario a la url devuelta; el usuario completa la pantalla de consentimiento de Google y se le redirige a una de las URL que proporcionaste. El enlace es válido durante 24 horas.
Estructura de la solicitud. El cuerpo debe estar envuelto en un objeto input que contenga dos campos obligatorios, successUrl y errorUrl. Estas son las URL https absolutas a las que se redirige al usuario después de que complete (o abandone) la pantalla de consentimiento de Google; proporciona endpoints de tu propia aplicación que reanuden el proceso de incorporación si se completa correctamente y ofrezcan un nuevo intento si se produce un error. No existe ningún campo accountId, el enlace de conexión siempre está limitado a la cuenta a la que pertenece la clave de API y el envío de accountId (o de un cuerpo plano, sin envolver) se rechaza con un estado HTTP 400.
Este es el primer paso del flujo de trabajo de conexión masiva. Una vez autorizada, la cuenta aparece en el endpoint que enumera las cuentas conectadas (GET /connected-accounts) con un connectedAccountId que usarás en todas las llamadas posteriores.
Caso de uso: incorporación de los perfiles de Google de un cliente de una agencia. Un nuevo cliente proporciona acceso a su cuenta de Google Business Profile. Llama a este endpoint, redirige al cliente a la url devuelta y, una vez que dé su consentimiento, sus fichas de Google estarán disponibles en la nueva cuenta conectada. A continuación, ejecuta POST /connected-accounts/trigger-matches para emparejar esas fichas de Google con tus ubicaciones de Listings API, revisa los emparejamientos con GET /connected-accounts/{connectedAccountId}/connection-suggestions y finalízalos con POST /connected-accounts/confirm-matches.
Caso de uso: reparación de credenciales caducadas. Cuando caduca el token de Google de una cuenta conectada, las actualizaciones de las fichas dejan de sincronizarse. Vuelve a generar un enlace de conexión con este endpoint y pide al propietario de la cuenta que vuelva a autorizar el acceso; la conexión existente se actualiza en lugar de duplicarse.
Para Facebook, usa el endpoint connect-facebook. success: true con un valor de url no nulo significa que se ha generado el enlace; errors solo se rellena cuando falla la generación.
curl -X POST 'https://listingsapi.com/api/v4/connected-accounts/connect-google' \ -H "Authorization: API $LISTINGSAPI_KEY" \ -H 'Content-Type: application/json' \ -d '{ "input": { "successUrl": "https://listingsapi.com/docs/api/connected-accounts-trigger-matches", "errorUrl": "https://listingsapi.com/docs/api/connected-accounts-connect" } }'