POST/api/v4/connected-accounts/connect-google

Collega un account Google

Restituisce un URL OAuth per collegare un account Google Business Profile al tuo account Listings API.

Richiede una chiave API. Consulta Autenticazione per il formato dell’header e la rotazione delle chiavi.

Parametri

Corpo

NomeTipoObbligatorioDescrizione
inputobjectobbligatorioWrapper object. The entire request body must be nested under `input`.
input.successUrlstringobbligatorioURL the user is redirected to after they successfully authorize Google. Must be an absolute https URL you control.
input.errorUrlstringobbligatorioURL the user is redirected to if they cancel or the authorization fails. Must be an absolute https URL you control.

Richiesta di esempio

Corpo pronto da incollare. Sostituisci gli ID e i valori segnaposto con i tuoi.

Request body
{  "input": {    "successUrl": "https://listingsapi.com/docs/api/connected-accounts-trigger-matches",    "errorUrl": "https://listingsapi.com/docs/api/connected-accounts-connect"  }}

Risposte

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.
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 un URL OAuth di breve durata che un utente visita per autorizzare Listings API a gestire in blocco le sue sedi di Google Business Profile. Reindirizza l'utente al url restituito; l'utente completa la schermata di consenso di Google e viene reindirizzato a uno degli URL che hai fornito. Il link è valido per 24 ore.

Struttura della richiesta. Il corpo deve essere racchiuso in un oggetto input contenente due campi obbligatori, successUrl e errorUrl. Si tratta degli URL https assoluti a cui l'utente viene reindirizzato dopo aver completato (o abbandonato) la schermata di consenso di Google; passa endpoint della tua applicazione che riprendano la procedura di onboarding in caso di successo e offrano la possibilità di riprovare in caso di errore. Non esiste un campo accountId, il link di collegamento è sempre limitato all'account a cui appartiene la chiave API e l'invio di accountId (o di un corpo piatto, non racchiuso nell'oggetto) viene rifiutato con uno stato HTTP 400.

Questo è il primo passaggio del flusso di collegamento in blocco. Una volta autorizzato, l'account compare nell'endpoint che elenca gli account collegati (GET /connected-accounts), con un connectedAccountId da usare per ogni chiamata successiva.

Caso d'uso: onboarding dei profili Google di un cliente di un'agenzia. Un nuovo cliente ti concede l'accesso al suo Google Business Profile. Chiama questo endpoint, reindirizza il cliente al url restituito e, dopo che avrà dato il consenso, le sue schede Google saranno disponibili nel nuovo account collegato. Quindi esegui POST /connected-accounts/trigger-matches per abbinare queste schede Google alle tue sedi in Listings API, verifica gli abbinamenti con GET /connected-accounts/{connectedAccountId}/connection-suggestions e confermali con POST /connected-accounts/confirm-matches.

Caso d'uso: ripristino delle credenziali scadute. Quando il token Google di un account collegato scade, gli aggiornamenti delle schede non vengono più sincronizzati. Genera un nuovo link di collegamento con questo endpoint e chiedi al proprietario dell'account di autorizzare nuovamente l'accesso; la connessione esistente viene aggiornata anziché duplicata.

Per Facebook, usa l'endpoint connect-facebook. success: true con un valore di url diverso da null indica che il link è stato generato; errors viene valorizzato solo quando la generazione non riesce.

Request
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"    }  }'