CTS-Clientbibliotheken

Auf dieser Seite werden die ersten Schritte mit den Cloud-Clientbibliotheken für die Cloud Talent Solution API beschrieben. Weitere Informationen zu den Cloud API-Clientbibliotheken und den älteren Google API-Clientbibliotheken finden Sie unter Erläuterung zu Clientbibliotheken.

Demnächst werden Clientbibliotheken für weitere Sprachen verfügbar sein.

Clientbibliothek installieren

C#

Weitere Informationen finden Sie unter .NET-Entwicklungsumgebung einrichten.

Install-Package Google.Cloud.Talent.V4Beta1 -Pre

Go

Weitere Informationen finden Sie unter Go-Entwicklungsumgebung einrichten.

go get -u cloud.google.com/go/talent/apiv4beta1

Java

Weitere Informationen finden Sie unter Java-Entwicklungsumgebung einrichten.

Bei Verwendung von pom.xmlMaven fügen Sie Ihrer Datei Folgendes hinzu:

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>libraries-bom</artifactId>
      <version>5.3.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-talent</artifactId>
  </dependency>

Bei Verwendung von Gradle fügen Sie den Abhängigkeiten Folgendes hinzu:

compile 'com.google.cloud:google-cloud-talent:0.36.1'

Bei Verwendung von SBT fügen Sie den Abhängigkeiten Folgendes hinzu:

libraryDependencies += "com.google.cloud" % "google-cloud-talent" % "0.36.1"

Bei Verwendung von IntelliJ oder Eclipse können Sie Ihrem Projekt mithilfe der folgenden IDE-Plug-ins Clientbibliotheken hinzufügen:

Diese Plug-ins bieten zusätzliche Funktionen wie die Schlüsselverwaltung für Dienstkonten. Einzelheiten finden Sie in der Dokumentation der einzelnen Plug-ins.

Node.js

Weitere Informationen finden Sie unter Node.js-Entwicklungsumgebung einrichten.

npm install @google-cloud/talent

PHP

Weitere Informationen finden Sie unter PHP auf Google Cloud verwenden.

composer require google/cloud-talent

Ruby

Weitere Informationen finden Sie unter Ruby-Entwicklungsumgebung einrichten.

gem install google-cloud-talent

Authentifizierung einrichten

Wenn Sie die Clientbibliothek ausführen möchten, müssen Sie zuerst die Authentifizierung einrichten. Hierzu erstellen Sie ein Dienstkonto und legen eine Umgebungsvariable fest. Zum Einrichten der Authentifizierung führen Sie die folgenden Schritte aus. Weitere Möglichkeiten zur Authentifizierung finden Sie in der Dokumentation zur GCP-Authentifizierung.

Cloud Console

  1. Wechseln Sie in der Cloud Console zur Seite Dienstkontoschlüssel erstellen.

    Zur Seite "Dienstkontoschlüssel erstellen"
  2. Wählen Sie aus der Liste Dienstkonto die Option Neues Dienstkonto aus.
  3. Geben Sie im Feld Dienstkontoname einen Namen ein.
  4. Wählen Sie in der Liste Rolle die Option Projekt > Inhaber aus.

    Hinweis: Über das Feld Rolle wird Ihr Dienstkonto für den Zugriff auf Ressourcen autorisiert. Sie können dieses Feld später in der Cloud Console aufrufen und ändern. Wenn Sie eine Produktionsanwendung entwickeln, müssen Sie detailliertere Berechtigungen als Projekt > Inhaber angeben. Weitere Informationen finden Sie unter Dienstkonten Rollen zuweisen.
  5. Klicken Sie auf Erstellen. Eine JSON-Datei mit Ihrem Schlüssel wird auf Ihren Computer heruntergeladen.

Befehlszeile

Sie können die folgenden Befehle mithilfe des Cloud SDK auf Ihrem lokalen Computer oder in Cloud Shell ausführen.

  1. Erstellen Sie das Dienstkonto. Ersetzen Sie dabei [NAME] durch einen Namen für das Dienstkonto.

    gcloud iam service-accounts create [NAME]
  2. Gewähren Sie Berechtigungen für das Dienstkonto. Ersetzen Sie dabei [PROJECT_ID] durch Ihre Projekt-ID.

    gcloud projects add-iam-policy-binding [PROJECT_ID] --member "serviceAccount:[NAME]@[PROJECT_ID].iam.gserviceaccount.com" --role "roles/owner"
    Hinweis: Über das Feld Rolle wird Ihr Dienstkonto für den Zugriff auf Ressourcen autorisiert. Sie können dieses Feld später in der Cloud Console ansehen und ändern. Wenn Sie eine Produktionsanwendung entwickeln, müssen Sie detailliertere Berechtigungen als Projekt > Inhaber festlegen. Weitere Informationen finden Sie unter Dienstkonten Rollen zuweisen.
  3. Generieren Sie die Schlüsseldatei. Ersetzen Sie dabei [FILE_NAME] durch einen Namen für die Schlüsseldatei.

    gcloud iam service-accounts keys create [FILE_NAME].json --iam-account [NAME]@[PROJECT_ID].iam.gserviceaccount.com

Übergeben Sie Anmeldedaten zur Authentifizierung an Ihren Anwendungscode, indem Sie die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS festlegen. Ersetzen Sie [PATH] durch den Dateipfad zur JSON-Datei, die Ihren Dienstkontoschlüssel enthält, und [FILE_NAME] durch den Dateinamen. Diese Variable gilt nur für Ihre aktuelle Shellsitzung. Wenn Sie eine neue Sitzung öffnen, müssen Sie die Variable erneut festlegen.

Linux oder macOS

export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

Beispiel:

export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/[FILE_NAME].json"

Windows

Mit PowerShell:

$env:GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

Beispiel:

$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\[FILE_NAME].json"

Mit Eingabeaufforderung:

set GOOGLE_APPLICATION_CREDENTIALS=[PATH]

Clientbibliothek verwenden

Das folgende Beispiel zeigt die Verwendung der Clientbibliothek.

C#

public static object ListCompanies(string projectId, string tenantId)
{
    CompanyServiceClient companyServiceClient = CompanyServiceClient.Create();
    TenantName tenantName = TenantName.FromProjectTenant(projectId, tenantId);

    ListCompaniesRequest request = new ListCompaniesRequest
    {
        ParentAsTenantName = tenantName
    };
    var companies = companyServiceClient.ListCompanies(request);
    foreach (var company in companies)
    {
        Console.WriteLine($"Company Name: {company.Name}");
        Console.WriteLine($"Display Name: {company.DisplayName}");
        Console.WriteLine($"External ID: {company.ExternalId}");
    }
    return 0;
}

Go

import (
	"context"
	"fmt"
	"os"

	talent "cloud.google.com/go/talent/apiv4beta1"
	"google.golang.org/api/iterator"
	talentpb "google.golang.org/genproto/googleapis/cloud/talent/v4beta1"
)

func main() {
	projectID := os.Getenv("GOOGLE_CLOUD_PROJECT")

	// Initialize job search client.
	ctx := context.Background()
	c, err := talent.NewCompanyClient(ctx)
	if err != nil {
		fmt.Printf("talent.NewCompanyClient: %v", err)
		return
	}

	// Construct a listCompany request.
	req := &talentpb.ListCompaniesRequest{
		Parent: "projects/" + projectID,
	}

	it := c.ListCompanies(ctx, req)

	for {
		resp, err := it.Next()
		if err == iterator.Done {
			fmt.Printf("Done.\n")
			break
		}
		if err != nil {
			fmt.Printf("it.Next: %v", err)
			return
		}
		fmt.Printf("Company: %v\n", resp.GetName())
	}
}

Java


import com.google.cloud.talent.v4beta1.Company;
import com.google.cloud.talent.v4beta1.CompanyServiceClient;
import com.google.cloud.talent.v4beta1.ListCompaniesRequest;
import com.google.cloud.talent.v4beta1.TenantName;
import java.io.IOException;

public class JobSearchListCompanies {

  public static void listCompanies() throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "your-project-id";
    String tenantId = "your-tenant-id";
    listCompanies(projectId, tenantId);
  }

  // List Companies.
  public static void listCompanies(String projectId, String tenantId) throws IOException {
    try (CompanyServiceClient companyServiceClient = CompanyServiceClient.create()) {
      TenantName parent = TenantName.of(projectId, tenantId);

      ListCompaniesRequest request =
          ListCompaniesRequest.newBuilder().setParent(parent.toString()).build();

      for (Company responseItem : companyServiceClient.listCompanies(request).iterateAll()) {
        System.out.printf("Company Name: %s\n", responseItem.getName());
        System.out.printf("Display Name: %s\n", responseItem.getDisplayName());
        System.out.printf("External ID: %s\n", responseItem.getExternalId());
      }
    }
  }
}

Node.js

PHP

require __DIR__ . '/vendor/autoload.php';

use Google\Cloud\Talent\V4beta1\CompanyServiceClient;

/**
 * List Companies.
 *
 * @param string $projectId Your Google Cloud Project ID
 * @param string $tenantId  Identifier of the Tenant
 */
function sampleListCompanies($projectId, $tenantId)
{

    $companyServiceClient = new CompanyServiceClient();

    // $projectId = 'Your Google Cloud Project ID';
    // $tenantId = 'Your Tenant ID (using tenancy is optional)';
    $formattedParent = $companyServiceClient->tenantName($projectId, $tenantId);

    try {
        // Iterate through all elements
        $pagedResponse = $companyServiceClient->listCompanies($formattedParent);
        foreach ($pagedResponse->iterateAllElements() as $responseItem) {
            printf('Company Name: %s'.PHP_EOL, $responseItem->getName());
            printf('Display Name: %s'.PHP_EOL, $responseItem->getDisplayName());
            printf('External ID: %s'.PHP_EOL, $responseItem->getExternalId());
        }
    } finally {
        $companyServiceClient->close();
    }

}

Ruby


# List Companies
#
# @param project_id {String} Your Google Cloud Project ID
# @param tenant_id {String} Identifier of the Tenant
def sample_list_companies project_id, tenant_id
  # Instantiate a client
  company_client = Google::Cloud::Talent::CompanyService.new version: :v4beta1

  # project_id = "Your Google Cloud Project ID"
  # tenant_id = "Your Tenant ID (using tenancy is optional)"
  formatted_parent = company_client.class.tenant_path(project_id, tenant_id)

  # Iterate over all results.
  company_client.list_companies(formatted_parent).each do |element|
    puts "Company Name: #{element.name}"
    puts "Display Name: #{element.display_name}"
    puts "External ID: #{element.external_id}"
  end
end

Zusätzliche Ressourcen