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

Conecte uma conta do Google

Retorna uma URL OAuth para vincular uma conta do Google Business Profile à sua conta da Listings API.

Requer uma chave de API. Consulte Autenticação para ver o formato do cabeçalho e a rotação de chaves.

Parâmetros

Corpo

NomeTipoObrigatórioDescrição
inputobjectobrigatórioWrapper object. The entire request body must be nested under `input`.
input.successUrlstringobrigatórioURL the user is redirected to after they successfully authorize Google. Must be an absolute https URL you control.
input.errorUrlstringobrigatórioURL the user is redirected to if they cancel or the authorization fails. Must be an absolute https URL you control.

Exemplo de requisição

Corpo pronto para colar. Substitua os IDs e valores de exemplo pelos seus.

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

Respostas

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.

Gera uma URL OAuth de curta duração que um usuário acessa para autorizar a Listings API a gerenciar seus locais do Google Business Profile em massa. Redirecione o usuário para url retornado; ele conclui a tela de consentimento do Google e é redirecionado para uma das URLs que você forneceu. O link é válido por 24 horas.

Estrutura da requisição. O corpo deve estar encapsulado em um objeto input contendo dois campos obrigatórios, successUrl e errorUrl. Essas são as URLs https absolutas para as quais o usuário é redirecionado após concluir (ou abandonar) a tela de consentimento do Google; forneça endpoints da sua própria aplicação que retomem a configuração inicial em caso de sucesso e ofereçam uma nova tentativa em caso de erro. Não há campo accountId, o link de conexão sempre se restringe à conta à qual pertence a chave da API, e o envio de accountId (ou de um corpo sem encapsulamento) é rejeitado com HTTP 400.

Esta é a primeira etapa do fluxo de conexão em massa. Depois que a conta é autorizada, ela aparece no endpoint de listagem de contas conectadas (GET /connected-accounts) com um connectedAccountId que você usa em todas as chamadas posteriores.

Caso de uso: configuração inicial dos perfis do Google de um cliente da agência. Um novo cliente concede acesso ao Google Business Profile dele. Chame este endpoint, redirecione o cliente para url retornado e, após ele dar seu consentimento, as listagens do Google dele ficarão disponíveis na nova conta conectada. Em seguida, execute POST /connected-accounts/trigger-matches para associar essas listagens do Google aos seus locais da Listings API, confira as associações com GET /connected-accounts/{connectedAccountId}/connection-suggestions e finalize-as com POST /connected-accounts/confirm-matches.

Caso de uso: correção de credenciais expiradas. Quando o token do Google de uma conta conectada expira, as atualizações das listagens deixam de ser sincronizadas. Emita novamente um link de conexão usando este endpoint e solicite ao proprietário da conta que autorize o acesso novamente; a conexão existente é renovada em vez de duplicada.

Para o Facebook, use o endpoint connect-facebook. success: true com url não nulo significa que o link foi gerado; errors só é preenchido quando a geração falha.

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