Bibliotecas cliente do CTS

Esta página mostra como começar a usar as bibliotecas cliente da Google Cloud para a API Cloud Talent Solution. As bibliotecas cliente facilitam o acesso às APIs do Google Cloud Platform a partir de um idioma suportado. Embora possa usar as APIs da Google Cloud Platform diretamente fazendo pedidos não processados ao servidor, as bibliotecas de cliente oferecem simplificações que reduzem significativamente a quantidade de código que tem de escrever.

Leia mais acerca das bibliotecas cliente da nuvem e das bibliotecas cliente das APIs Google mais antigas em Bibliotecas cliente explicadas.

As bibliotecas cliente para mais idiomas vão estar disponíveis brevemente.

Instale a biblioteca de cliente

C#

Se estiver a usar o Visual Studio 2017 ou superior, abra a janela do gestor de pacotes NuGet e escreva o seguinte:

Install-Package Google.Apis

Se estiver a usar ferramentas da interface de linhas de comando do .NET Core para instalar as dependências, execute o seguinte comando:

dotnet add package Google.Apis

Para mais informações, consulte o artigo Configurar um ambiente de desenvolvimento C#.

Go

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

Para mais informações, consulte o artigo Configurar um ambiente de desenvolvimento Go.

Java

Se estiver a usar o Maven, adicione o seguinte ao ficheiro pom.xml:

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

Para mais informações, consulte o artigo Configurar um ambiente de desenvolvimento Java.

Node.js

npm install googleapis

Para mais informações, consulte o artigo Configurar um ambiente de desenvolvimento do Node.js.

PHP

composer require google/apiclient

Para mais informações, consulte o artigo Usar o PHP no Google Cloud.

Python

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

Para mais informações, consulte o artigo Configurar um ambiente de desenvolvimento Python.

Ruby

gem install google-api-client

Para mais informações, consulte o artigo Configurar um ambiente de desenvolvimento Ruby.

Configure a autenticação

Para autenticar chamadas para APIs Google Cloud Platform, as bibliotecas cliente suportam as Credenciais padrão da aplicação (ADC). As bibliotecas procuram credenciais num conjunto de localizações definidas e usam essas credenciais para autenticar pedidos para a API. Com o ADC, pode disponibilizar credenciais à sua aplicação numa variedade de ambientes, como desenvolvimento local ou produção, sem ter de modificar o código da aplicação.

Para ambientes de produção, a forma como configura o ADC depende do serviço e do contexto. Para mais informações, consulte o artigo Configure as Credenciais padrão da aplicação.

Para um ambiente de desenvolvimento local, pode configurar o ADC com as credenciais associadas à sua Conta Google:

  1. Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:

    gcloud init

    If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  2. If you're using a local shell, then create local authentication credentials for your user account:

    gcloud auth application-default login

    You don't need to do this if you're using Cloud Shell.

    If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

    É apresentado um ecrã de início de sessão. Depois de iniciar sessão, as suas credenciais são armazenadas no ficheiro de credenciais local usado pelo ADC.

Use a biblioteca de cliente

O exemplo seguinte mostra como usar a biblioteca cliente.

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()

Recursos adicionais

C#

A lista seguinte contém links para mais recursos relacionados com a biblioteca cliente para C#:

Go

A lista seguinte contém links para mais recursos relacionados com a biblioteca de cliente para Go:

Java

A lista seguinte contém links para mais recursos relacionados com a biblioteca cliente para Java:

Node.js

A lista seguinte contém links para mais recursos relacionados com a biblioteca de cliente para Node.js:

PHP

A lista seguinte contém links para mais recursos relacionados com a biblioteca cliente para PHP:

Python

A lista seguinte contém links para mais recursos relacionados com a biblioteca cliente para Python:

Ruby

A lista seguinte contém links para mais recursos relacionados com a biblioteca de cliente para Ruby: