Librerie client CTS

Questa pagina mostra come iniziare a utilizzare le librerie client di Cloud per l'API Cloud Talent Solution. Le librerie client semplificano l'accesso le API di Google Cloud in un linguaggio supportato. Sebbene sia possibile utilizzare API Google Cloud Platform direttamente inviando richieste non elaborate al server, al client le librerie offrono semplificazioni che riducono significativamente la quantità di codice che devi scrivere.

Scopri di più sulle librerie client di Cloud e le librerie client precedenti delle API di Google Spiegazione delle librerie client.

A breve saranno disponibili librerie client per altri linguaggi.

installa la libreria client

C#

Se si utilizza Visual Studio 2017 o versione successiva, apri la finestra del gestore di pacchetti Nuget e digita quanto segue:

Install-Package Google.Apis

Se utilizzi gli strumenti di interfaccia a riga di comando .NET Core per installare le dipendenze, esegui questo comando:

dotnet add package Google.Apis

Per ulteriori informazioni, consulta la sezione Configurazione di un ambiente di sviluppo C#.

Go

go get google.golang.org/api/jobs/v3

Per saperne di più, consulta la pagina Configurazione di un ambiente di sviluppo Go.

Java

Se usi Maven, aggiungi questo codice al file pom.xml:

<dependency>
    <groupId>com.google.apis</groupId>
    <artifactId>google-api-services-jobs</artifactId>
    <version>LATEST</version>
</dependency>

Per ulteriori informazioni, consulta la sezione Configurazione di un ambiente di sviluppo Java.

Node.js

npm install --save googleapis

Per ulteriori informazioni, consulta la sezione Configurare un ambiente di sviluppo Node.js.

PHP

composer require google/apiclient

Per ulteriori informazioni, consulta Utilizzo di PHP su Google Cloud.

Python

pip install --upgrade google-api-python-client

Per ulteriori informazioni, consulta la sezione Configurazione di un ambiente di sviluppo Python.

Ruby

gem install google-api-client

Per ulteriori informazioni, consulta la sezione Configurare un ambiente di sviluppo Ruby.

Configura l'autenticazione

Per autenticare le chiamate alle API Google Cloud, le librerie client supportano Credenziali predefinite dell'applicazione (ADC); le librerie cercano le credenziali in una serie di posizioni definite e le utilizzano per autenticare le richieste all'API. Con ADC, puoi le credenziali disponibili per l'applicazione in diversi ambienti, ad esempio sviluppo o produzione, senza dover modificare il codice dell'applicazione.

Per gli ambienti di produzione, il modo in cui configuri ADC dipende dal servizio e contesto. Per ulteriori informazioni, vedi Configurare le credenziali predefinite dell'applicazione.

Per un ambiente di sviluppo locale, puoi configurare ADC con le credenziali associati al tuo Account Google:

  1. Installa e inizializza gcloud CLI.

    Quando inizializza la gcloud CLI, assicurati di specificare nel progetto Google Cloud Platform per il quale disponi dell'autorizzazione e accedere alle risorse necessarie all'applicazione.

  2. Configura ADC:

    gcloud auth application-default login

    Viene visualizzata una schermata di accesso. Dopo aver eseguito l'accesso, le tue credenziali vengono archiviate nel file delle credenziali locali utilizzato da ADC.

Utilizzare la libreria client

Nell'esempio seguente viene illustrato come utilizzare la libreria client.

Go


// Command quickstart is an example of using the Google Cloud Talent Solution API.
package main

import (
	"context"
	"fmt"
	"log"
	"os"

	"golang.org/x/oauth2/google"
	talent "google.golang.org/api/jobs/v3"
)

func main() {
	projectID := os.Getenv("GOOGLE_CLOUD_PROJECT")
	parent := fmt.Sprintf("projects/%s", projectID)

	// Authorize the client using Application Default Credentials.
	// See https://g.co/dv/identity/protocols/application-default-credentials
	ctx := context.Background()
	client, err := google.DefaultClient(ctx, talent.CloudPlatformScope)
	if err != nil {
		log.Fatal(err)
	}

	// Create the jobs service client.
	ctsService, err := talent.New(client)
	if err != nil {
		log.Fatal(err)
	}

	// Make the RPC call.
	response, err := ctsService.Projects.Companies.List(parent).Do()
	if err != nil {
		log.Fatalf("Failed to list Companies: %v", err)
	}

	// Print the request id.
	fmt.Printf("Request ID: %q\n", response.Metadata.RequestId)

	// Print the returned companies.
	for _, company := range response.Companies {
		fmt.Printf("Company: %q\n", company.Name)
	}
}

Java


private static final JsonFactory JSON_FACTORY = new GsonFactory();
private static final NetHttpTransport NET_HTTP_TRANSPORT = new NetHttpTransport();
private static final String DEFAULT_PROJECT_ID =
    "projects/" + System.getenv("GOOGLE_CLOUD_PROJECT");

private static CloudTalentSolution talentSolutionClient =
    createTalentSolutionClient(generateCredential());

private static CloudTalentSolution createTalentSolutionClient(GoogleCredentials credential) {
  String url = "https://jobs.googleapis.com";

  HttpRequestInitializer requestInitializer =
      request -> {
        new HttpCredentialsAdapter(credential).initialize(request);
        request.setConnectTimeout(60000); // 1 minute connect timeout
        request.setReadTimeout(60000); // 1 minute read timeout
      };

  return new CloudTalentSolution.Builder(NET_HTTP_TRANSPORT, JSON_FACTORY, requestInitializer)
      .setApplicationName("JobServiceClientSamples")
      .setRootUrl(url)
      .build();
}

private static GoogleCredentials generateCredential() {
  try {
    // Credentials could be downloaded after creating service account
    // set the `GOOGLE_APPLICATION_CREDENTIALS` environment variable, for example:
    // export GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/key.json
    return GoogleCredentials.getApplicationDefault()
        .createScoped(Collections.singleton(CloudTalentSolutionScopes.JOBS));
  } catch (Exception e) {
    System.out.println("Error in generating credential");
    throw new RuntimeException(e);
  }
}

public static CloudTalentSolution getTalentSolutionClient() {
  return talentSolutionClient;
}

public static void main(String... args) throws Exception {
  try {
    ListCompaniesResponse listCompaniesResponse =
        talentSolutionClient.projects().companies().list(DEFAULT_PROJECT_ID).execute();
    System.out.println("Request Id is " + listCompaniesResponse.getMetadata().getRequestId());
    if (listCompaniesResponse.getCompanies() != null) {
      for (Company company : listCompaniesResponse.getCompanies()) {
        System.out.println(company.getName());
      }
    }
  } catch (IOException e) {
    System.out.println("Got exception while listing companies");
    throw e;
  }
}

Python

import os

from googleapiclient.discovery import build
from googleapiclient.errors import Error

client_service = build("jobs", "v3")


def run_sample():
    try:
        project_id = "projects/" + os.environ["GOOGLE_CLOUD_PROJECT"]
        response = (
            client_service.projects().companies().list(parent=project_id).execute()
        )
        print("Request Id: %s" % response.get("metadata").get("requestId"))
        print("Companies:")
        if response.get("companies") is not None:
            for company in response.get("companies"):
                print("%s" % company.get("name"))
        print("")

    except Error as e:
        print("Got exception while listing companies")
        raise e


if __name__ == "__main__":
    run_sample()

Risorse aggiuntive

C#

Il seguente elenco contiene link ad altre risorse correlate agli libreria client per C#:

Go

Il seguente elenco contiene link ad altre risorse correlate agli libreria client per Go:

Java

Il seguente elenco contiene link ad altre risorse correlate agli libreria client per Java:

Node.js

Il seguente elenco contiene link ad altre risorse correlate agli libreria client per Node.js:

PHP

Il seguente elenco contiene link ad altre risorse correlate agli libreria client per PHP:

Python

Il seguente elenco contiene link ad altre risorse correlate agli libreria client per Python:

Ruby

Il seguente elenco contiene link ad altre risorse correlate agli libreria client per Ruby: