Librerie client CTS

Questa pagina mostra come iniziare a utilizzare le librerie client di Cloud per l'API Cloud Talent Solution. Scopri di più sulle librerie client per le API Cloud, incluse quelle meno recenti, in Librerie client.

A breve saranno disponibili librerie client per altri linguaggi.

Installa la libreria client

C#

Per saperne di più, vedi Configurazione di un ambiente di sviluppo C#.

Se utilizzi Visual Studio 2017 o versioni successive, apri la finestra del gestore di pacchetti di Nuget e digita quanto segue:

Install-Package Google.Apis

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

dotnet add package Google.Apis

Go

Per saperne di più, vedi Configurazione di un ambiente di sviluppo Go.

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

Java

Per saperne di più, consulta la pagina Configurare un ambiente di sviluppo Java.

Se utilizzi Maven, aggiungilo al file pom.xml:

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

Node.js

Per saperne di più, consulta la pagina sulla configurazione di un ambiente di sviluppo Node.js.

npm install --save googleapis

PHP

Per ulteriori informazioni, vedi Utilizzare PHP su Google Cloud.

composer require google/apiclient

Python

Per saperne di più, vedi Configurazione di un ambiente di sviluppo Python.

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

Ruby

Per saperne di più, vedi Configurazione di un ambiente di sviluppo Ruby.

gem install google-api-client

Configura l'autenticazione

Quando utilizzi le librerie client, utilizzi le credenziali predefinite delle applicazioni (ADC) per l'autenticazione. Per informazioni sulla configurazione di ADC, consulta Fornisci le credenziali per le credenziali predefinite dell'applicazione. Per informazioni sull'utilizzo dell'ADC con le librerie client, consulta l'articolo su come autenticarsi utilizzando le librerie client.

Utilizzare la libreria client

L'esempio seguente mostra come utilizzare la libreria client.

Go

Per eseguire l'autenticazione in CTS, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.


// 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

Per eseguire l'autenticazione in CTS, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.


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;
  }
}

Node.js

Per eseguire l'autenticazione in CTS, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.


// Imports the Google APIs client library
const {google} = require('googleapis');
const projectId = process.env.GOOGLE_CLOUD_PROJECT;

// Acquires credentials
google.auth.getApplicationDefault((err, authClient) => {
  if (err) {
    console.error('Failed to acquire credentials');
    console.error(err);
    return;
  }

  if (authClient.createScopedRequired && authClient.createScopedRequired()) {
    authClient = authClient.createScoped([
      'https://www.googleapis.com/auth/jobs'
    ]);
  }

  // Instantiates an authorized client
  const jobService = google.jobs({
    version: 'v3p1beta1',
    auth: authClient
  });

  const request = {
    parent: `projects/${projectId}`,
  };

  // Lists companies
  jobService.projects.companies.list(request, function (err, result) {
    if (err) {
      console.error('Failed to retrieve companies! ' + err);
      throw err;
    }
    console.log(`Request ID: ${result.data.metadata.requestId}`);

    const companies = result.data.companies || [];

    if (companies.length) {
      console.log('Companies:');
      companies.forEach((company) => console.log(company.name));
    } else {
      console.log(`No companies found.`);
    }
  });
});

Python

Per eseguire l'autenticazione in CTS, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

# import os

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

# client_service = build('jobs', 'v3p1beta1')

import os
import pprint
import json
import httplib2
from apiclient.discovery import build_from_document
from apiclient.http import build_http
from googleapiclient.errors import Error
from oauth2client.service_account import ServiceAccountCredentials

scopes = ['https://www.googleapis.com/auth/jobs']
credential_path = os.environ['GOOGLE_APPLICATION_CREDENTIALS']
credentials = ServiceAccountCredentials.from_json_keyfile_name(
    credential_path, scopes)
http = httplib2.Http(".cache", disable_ssl_certificate_validation=True)
http = credentials.authorize(http=build_http())
content = open("/usr/local/google/home/xinyunh/discovery/talent_public_discovery_v3p1beta1_distrib.json",'r').read()
discovery = json.loads(content)
client_service = build_from_document(discovery, 'talent', 'v3p1beta1', http=http)

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:')
        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