OAuth

Nota: questo documento descrive il flusso OAuth2 a tre vie utilizzato per richiedere l'accesso ai dati di altre parti. Utilizza questo flusso di autenticazione se stai sviluppando un'applicazione di terze parti che deve accedere agli account Merchant Center dei tuoi clienti. Se stai sviluppando un'applicazione interna che accederà solo al tuo account Merchant Center, consulta la guida Account di servizio.

Ogni richiesta inviata alla tua Google Content API for Shopping deve includere un token di autorizzazione. Il token, inoltre, identifica l'applicazione per Google.

Informazioni sui protocolli di autorizzazione

La tua applicazione deve utilizzare il protocollo OAuth 2.0 per autorizzare le richieste. Non sono supportati altri protocolli di autorizzazione. Se la tua applicazione utilizza la funzionalità Accedi con Google, alcuni aspetti dell'autorizzazione vengono gestiti per te.

Autorizzazione delle richieste con OAuth 2.0

Tutte le richieste a Google Content API for Shopping devono essere autorizzate da un utente autenticato.

I dettagli della procedura di autorizzazione, o "flusso", per il protocollo OAuth 2.0 variano a seconda del tipo di applicazione che stai scrivendo. La seguente procedura generale si applica a tutti i tipi di applicazione:

  1. Quando crei la tua applicazione, la registri utilizzando la console API di Google. Quindi, Google fornisce informazioni che ti saranno necessarie in un secondo momento, ad esempio un ID client e un client secret.
  2. Attiva la Google Content API for Shopping nella console API di Google. (Se l'API non è elencata nella console API, salta questo passaggio.)
  3. Quando la tua applicazione vuole accedere ai dati dell'utente, chiede a Google un particolare ambito di accesso.
  4. Google mostra una schermata di consenso all'utente, chiedendo di autorizzare l'applicazione a richiedere dei dati.
  5. Se l'utente approva, Google fornisce alla tua applicazione un token di accesso di breve durata.
  6. L'applicazione richiede i dati utente, allegando il token di accesso alla richiesta.
  7. Se Google ritiene validi la richiesta e il token, restituisce i dati richiesti.

Alcuni flussi includono passaggi aggiuntivi, come l'uso di token di aggiornamento per acquisire nuovi token di accesso. Per informazioni dettagliate sui flussi per vari tipi di applicazioni, consulta la documentazione relativa al protocollo OAuth 2.0 di Google.

Ecco le informazioni sull'ambito OAuth 2.0 per Google Content API for Shopping:

Ambito Significato
https://www.googleapis.com/auth/content Accesso di lettura/scrittura.

Per richiedere l'accesso utilizzando il protocollo OAuth 2.0, l'applicazione richiede le informazioni relative all'ambito e le informazioni che Google fornisce quando registri la tua applicazione (ad esempio l'ID client e il client secret).

Suggerimento: le librerie client delle API di Google possono gestire parte del processo di autorizzazione per te. Sono disponibili per una varietà di linguaggi di programmazione; consulta la pagina delle librerie e dei campioni per maggiori dettagli.

Ottieni ambiti OAuth

Ti consigliamo di utilizzare l'autorizzazione incrementale per evitare problemi con la selezione dell'ambito.

Gli ambiti OAuth sono deselezionati per impostazione predefinita nella schermata per il consenso relativa all'app, se ne richiedi più di una. Quando l'app presenta la schermata per il consenso a un utente, quest'ultimo deve selezionare manualmente ogni ambito per autorizzare l'accesso.

Controlla la risposta di una richiesta OAuth per verificare di aver ricevuto gli ambiti appropriati.

Per maggiori dettagli, consulta la pagina Criteri OAuth 2.0.

Richiedi la verifica app

Le app che accedono a Content API devono essere sottoposte al processo di verifica di OAuth. Gli utenti delle app non verificate che accedono alla Content API riceveranno avvisi e le app avranno funzionalità limitate. In questo contesto, per app si intende un ID client OAuth 2.0 univoco in Google Cloud.

Generalmente, per completare la procedura di verifica sono necessari 3-5 giorni lavorativi. Per scoprire di più sulla procedura e inviare una richiesta di verifica, consulta l'articolo Verifica per le app.

Queste norme si applicano a tutte le app; ti consigliamo di eseguire tutte le app il processo di verifica OAuth di Google il prima possibile per evitare interruzioni dell'attività.

Esempio di autorizzazione

Il codice seguente mostra come configurare il client e autorizzare le richieste utilizzando OAuth 2.0 per le applicazioni web. Altre lingue sono disponibili nella nostra pagina Esempi e biblioteche.

PHP

Questo esempio utilizza il flusso dell'applicazione web. L'URI di reindirizzamento deve essere l'URI di questa pagina PHP.

<?php
require_once 'Google/Client.php';

session_start();

$client = new Google_Client();
$client->setApplicationName('Sample Content API application');
$client->setClientId('YOUR_CLIENT_ID');
$client->setClientSecret('YOUR_CLIENT_SECRET');
$client->setRedirectUri('YOUR_REDIRECT_URI');
$client->setScopes('https://www.googleapis.com/auth/content');

if (isset($_SESSION['oauth_access_token'])) {
  $client->setAccessToken($_SESSION['oauth_access_token']);
} elseif (isset($_GET['code'])) {
  $token = $client->authenticate($_GET['code']);
  $_SESSION['oauth_access_token'] = $token;
} else {
  header('Location: ' . $client->createAuthUrl());
  exit;
}

Ora che hai eseguito l'autenticazione, puoi creare un oggetto Service con cui effettuare richieste API.

require_once 'Google/Service/ShoppingContent.php';

$service = new Google_Service_ShoppingContent($client);