Prerequisiti per l'API Indexing

Prima di poter iniziare a utilizzare l'API Indexing, ci sono alcune cose da fare, se non le hai già fatte, ovvero:

Creare un progetto per il client

Prima di poter inviare richieste all'API Indexing, devi comunicare a Google il tuo client e attivare l'accesso all'API. A tale scopo, utilizza la console API di Google per creare un progetto, ovvero una raccolta di impostazioni e informazioni relative all'accesso all'API a cui darai un nome e registra la tua applicazione.

Per iniziare a usare l'API Indexing devi prima utilizzare lo strumento di configurazione, che ti guida attraverso la creazione di un progetto nella console API di Google, attivando l'API e creando le credenziali.

Creare un account di servizio

  1. Apri la pagina Account di servizio. Se richiesto, seleziona un progetto.
  2. Fai clic su Crea account di servizio.
  3. Nella finestra Crea account di servizio, digita un nome per l'account di servizio e seleziona Fornisci una nuova chiave privata. Se vuoi concedere l'autorizzazione per tutto il dominio di G Suite all'account di servizio, seleziona anche Abilita delegazione a livello di dominio di G Suite. Quindi, fai clic su Salva.

Viene generata e scaricata sul tuo computer una nuova coppia di chiave pubblica/privata, che sarà l'unica copia esistente. Sei responsabile della sua archiviazione in sicurezza.

Verificare la proprietà del sito in Search Console

In questo passaggio dovrai verificare di avere il controllo della tua proprietà web.

Per verificare la proprietà del tuo sito:

  1. Segui i passaggi consigliati per verificare la tua proprietà.
  2. Dopo aver verificato la tua proprietà, apri Search Console.
  3. Fai clic sulla proprietà verificata.
  4. Seleziona i Dettagli di verifica dall'icona a forma di ingranaggio delle Impostazioni accanto alla proprietà verificata.
  5. Nella sezione Proprietari verificati, fai clic su Aggiungi un proprietario.
  6. Aggiungi l'indirizzo email del tuo account di servizio come proprietario della proprietà. Puoi trovare l'indirizzo email del tuo account di servizio in due punti:
    • Nel campo client_email della chiave privata JSON che hai scaricato quando hai creato il tuo progetto.
    • Nella colonna ID account di servizio della visualizzazione Account di servizio nella Developer Console.

    L'indirizzo email ha un formato simile al seguente:

    my-service-account@project-name.google.com.iam.gserviceaccount.com

    Ad esempio, "il-mio-account-servizio@test-project-42.google.com.iam.gserviceaccount.com".

Ottenere un token di accesso

Per chiamare l'API Indexing, la chiamata deve essere autenticata con un token OAuth che si riceve in cambio della propria chiave privata. Google fornisce librerie client di API per ottenere token OAuth per un certo numero di lingue.

Requisiti

Quando invii una richiesta all'API Indexing, la richiesta deve:

  1. Utilizzare https://www.googleapis.com/auth/indexing come ambito.
  2. Utilizzare uno degli endpoint descritti in Utilizzo dell'API.
  3. Includere il token di accesso all'account di servizio.
  4. Definire il corpo della richiesta come descritto in Utilizzo dell'API.

Esempi

I seguenti esempi mostrano come ottenere un token di accesso OAuth.

Python

Permette di ottenere un token OAuth utilizzando la libreria client dell'API di Google per Python:

from oauth2client.service_account import ServiceAccountCredentials
import httplib2

SCOPES = [ "https://www.googleapis.com/auth/indexing" ]
ENDPOINT = "https://indexing.googleapis.com/v3/urlNotifications:publish"

# service_account_file.json is the private key that you created for your service account.
JSON_KEY_FILE = "service_account_file.json"

credentials = ServiceAccountCredentials.from_json_keyfile_name(JSON_KEY_FILE, scopes=SCOPES)

http = credentials.authorize(httplib2.Http())

// Define contents here. This example shows a simple update request. Other types
// of requests are described in the next step.
content = "{
  \"url\": \"http://example.com/jobs/42\",
  \"type\": \"URL_UPDATED"
}"

response, content = http.request(ENDPOINT, method="POST", body=content)

Java

Permette di ottenere un token OAuth utilizzando la libreria client dell'API per Java:

String scopes = "https://www.googleapis.com/auth/indexing";
String endPoint = "https://indexing.googleapis.com/v3/urlNotifications:publish";

JsonFactory jsonFactory = new JacksonFactory();

// service_account_file.json is the private key that you created for your service account.
InputStream in = IOUtils.toInputStream("service_account_file.json");

GoogleCredential credentials =
  GoogleCredential.fromStream(in, this.httpTransport, jsonFactory).createScoped(Collections.singleton(scopes));

GenericUrl genericUrl = new GenericUrl(endPoint);
HttpRequestFactory requestFactory = this.httpTransport.createRequestFactory();

// Define content here. The structure of the content is described in the next step.
String content = "{"
  + "\"url\": \"http://example.com/jobs/42\","
  + "\"type\": \"URL_UPDATED\","
  + "}";

HttpRequest request =
  requestFactory.buildPostRequest(genericUrl, ByteArrayContent.fromString("application/json", content));

credentials.initialize(request);
HttpResponse response = request.execute();
int statusCode = response.getStatusCode();

PHP

Permette di ottenere un token OAuth utilizzando la libreria client dell'API per PHP:

require_once 'google-api-php-client/vendor/autoload.php';

$client = new Google_Client();

// service_account_file.json is the private key that you created for your service account.
$client->setAuthConfig('service_account_file.json');
$client->addScope('https://www.googleapis.com/auth/indexing');

// Get a Guzzle HTTP Client
$httpClient = $client->authorize();
$endpoint = 'https://indexing.googleapis.com/v3/urlNotifications:publish';

// Define contents here. The structure of the content is described in the next step.
$content = "{
  \"url\": \"http://example.com/jobs/42\",
  \"type\": \"URL_UPDATED"
}";

$response = $httpClient->post($endpoint, [ 'body' => $content ]);
$status_code = $response->getStatusCode();

Node.js

Permette di ottenere un token OAuth utilizzando la libreria client di Node.js:

var request = require("request");
var google = require("googleapis");
var key = require("./service_account.json");

const jwtClient = new google.auth.JWT(
  key.client_email,
  null,
  key.private_key,
  ["https://www.googleapis.com/auth/indexing"],
  null
);

jwtClient.authorize(function(err, tokens) {
  if (err) {
    console.log(err);
    return;
  }
  let options = {
    url: "https://indexing.googleapis.com/v3/urlNotifications:publish",
    method: "POST",
    // Your options, which must include the Content-Type and auth headers
    headers: {
      "Content-Type": "application/json"
    },
    auth: { "bearer": tokens.access_token },
    // Define contents here. The structure of the content is described in the next step.
    json: {
      "url": "http://example.com/jobs/42",
      "type": "URL_UPDATED"
    };
  request(options, function (error, response, body) {
    // Handle the response
    console.log(body);
  });
});

Oltre a mostrare come ottenere un token, questi esempi illustrano dove poter aggiungere il corpo del messaggio della richiesta. Per informazioni sui tipi di chiamate che è possibile effettuare e sulla struttura dei corpi dei messaggi per tali chiamate, consulta la sezione Usare l'API.

Invia feedback per...