CTS client libraries

This page shows how to get started with the Cloud Client Libraries for the Cloud Talent Solution API. Client libraries make it easier to access Google Cloud Platform APIs from a supported language. Although you can use Google Cloud Platform APIs directly by making raw requests to the server, client libraries provide simplifications that significantly reduce the amount of code you need to write.

Read more about the Cloud Client Libraries and the older Google API Client Libraries in Client libraries explained .

Client libraries for more languages are coming soon.

Install the client library

C#

If you are using Visual Studio 2017 or higher, open nuget package manager window and type the following:
Install-Package Google.Apis

If you are using .NET Core command-line interface tools to install your dependencies, run the following command:

dotnet add package Google.Apis

For more information, see Setting Up a C# Development Environment .

Go

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

For more information, see Setting Up a Go Development Environment .

Java

If you are using Maven, add this to your pom.xml file:
< dependency 
>  
< groupId>com 
 . 
 google 
 . 
 apis 
< / 
 groupId 
>  
< artifactId>google 
 - 
 api 
 - 
 services 
 - 
 jobs 
< / 
 artifactId 
>  
< version>LATEST 
< / 
 version 
>
< / 
 dependency 
>

For more information, see Setting Up a Java Development Environment .

Node.js

npm install googleapis

For more information, see Setting Up a Node.js Development Environment .

PHP

composer require google/apiclient

For more information, see Using PHP on Google Cloud .

Python

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

For more information, see Setting Up a Python Development Environment .

Ruby

gem install google-api-client

For more information, see Setting Up a Ruby Development Environment .

Set up authentication

To authenticate calls to Google Cloud Platform APIs, client libraries support Application Default Credentials (ADC) ; the libraries look for credentials in a set of defined locations and use those credentials to authenticate requests to the API. With ADC, you can make credentials available to your application in a variety of environments, such as local development or production, without needing to modify your application code.

For production environments, the way you set up ADC depends on the service and context. For more information, see Set up Application Default Credentials .

For a local development environment, you can set up ADC with the credentials that are associated with your Google Account:

  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 .

    A sign-in screen appears. After you sign in, your credentials are stored in the local credential file used by ADC .

Use the client library

The following example shows how to use the client library.

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

Additional resources

C#

The following list contains links to more resources related to the client library for C#:

Go

The following list contains links to more resources related to the client library for Go:

Java

The following list contains links to more resources related to the client library for Java:

Node.js

The following list contains links to more resources related to the client library for Node.js:

PHP

The following list contains links to more resources related to the client library for PHP:

Python

The following list contains links to more resources related to the client library for Python:

Ruby

The following list contains links to more resources related to the client library for Ruby:

Create a Mobile Website
View Site in Mobile | Classic
Share by: