Class WebRiskServiceClient (2.0.11)

public class WebRiskServiceClient implements BackgroundResource

Service Description: Web Risk API defines an interface to detect malicious URLs on your website and in client applications.

This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:


 try (WebRiskServiceClient webRiskServiceClient = WebRiskServiceClient.create()) {
   ThreatType threatType = ThreatType.forNumber(0);
   ByteString versionToken = ByteString.EMPTY;
   ComputeThreatListDiffRequest.Constraints constraints =
       ComputeThreatListDiffRequest.Constraints.newBuilder().build();
   ComputeThreatListDiffResponse response =
       webRiskServiceClient.computeThreatListDiff(threatType, versionToken, constraints);
 }
 

Note: close() needs to be called on the WebRiskServiceClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().

The surface of this class includes several types of Java methods for each of the API's methods:

  1. A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
  2. A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
  3. A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.

See the individual methods for example code.

Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.

This class can be customized by passing in a custom instance of WebRiskServiceSettings to create(). For example:

To customize credentials:


 WebRiskServiceSettings webRiskServiceSettings =
     WebRiskServiceSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 WebRiskServiceClient webRiskServiceClient = WebRiskServiceClient.create(webRiskServiceSettings);
 

To customize the endpoint:


 WebRiskServiceSettings webRiskServiceSettings =
     WebRiskServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
 WebRiskServiceClient webRiskServiceClient = WebRiskServiceClient.create(webRiskServiceSettings);
 

Please refer to the GitHub repository's samples for more quickstart code snippets.

Inheritance

java.lang.Object > WebRiskServiceClient

Implements

BackgroundResource

Static Methods

create()

public static final WebRiskServiceClient create()

Constructs an instance of WebRiskServiceClient with default settings.

Returns
TypeDescription
WebRiskServiceClient
Exceptions
TypeDescription
IOException

create(WebRiskServiceSettings settings)

public static final WebRiskServiceClient create(WebRiskServiceSettings settings)

Constructs an instance of WebRiskServiceClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.

Parameter
NameDescription
settingsWebRiskServiceSettings
Returns
TypeDescription
WebRiskServiceClient
Exceptions
TypeDescription
IOException

create(WebRiskServiceStub stub)

public static final WebRiskServiceClient create(WebRiskServiceStub stub)

Constructs an instance of WebRiskServiceClient, using the given stub for making calls. This is for advanced usage - prefer using create(WebRiskServiceSettings).

Parameter
NameDescription
stubWebRiskServiceStub
Returns
TypeDescription
WebRiskServiceClient

Constructors

WebRiskServiceClient(WebRiskServiceSettings settings)

protected WebRiskServiceClient(WebRiskServiceSettings settings)

Constructs an instance of WebRiskServiceClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.

Parameter
NameDescription
settingsWebRiskServiceSettings

WebRiskServiceClient(WebRiskServiceStub stub)

protected WebRiskServiceClient(WebRiskServiceStub stub)
Parameter
NameDescription
stubWebRiskServiceStub

Methods

awaitTermination(long duration, TimeUnit unit)

public boolean awaitTermination(long duration, TimeUnit unit)
Parameters
NameDescription
durationlong
unitTimeUnit
Returns
TypeDescription
boolean
Exceptions
TypeDescription
InterruptedException

close()

public final void close()

computeThreatListDiff(ComputeThreatListDiffRequest request)

public final ComputeThreatListDiffResponse computeThreatListDiff(ComputeThreatListDiffRequest request)

Gets the most recent threat list diffs. These diffs should be applied to a local database of hashes to keep it up-to-date. If the local database is empty or excessively out-of-date, a complete snapshot of the database will be returned. This Method only updates a single ThreatList at a time. To update multiple ThreatList databases, this method needs to be called once for each list.

Sample code:


 try (WebRiskServiceClient webRiskServiceClient = WebRiskServiceClient.create()) {
   ComputeThreatListDiffRequest request =
       ComputeThreatListDiffRequest.newBuilder()
           .setThreatType(ThreatType.forNumber(0))
           .setVersionToken(ByteString.EMPTY)
           .setConstraints(ComputeThreatListDiffRequest.Constraints.newBuilder().build())
           .build();
   ComputeThreatListDiffResponse response = webRiskServiceClient.computeThreatListDiff(request);
 }
 
Parameter
NameDescription
requestComputeThreatListDiffRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
ComputeThreatListDiffResponse

computeThreatListDiff(ThreatType threatType, ByteString versionToken, ComputeThreatListDiffRequest.Constraints constraints)

public final ComputeThreatListDiffResponse computeThreatListDiff(ThreatType threatType, ByteString versionToken, ComputeThreatListDiffRequest.Constraints constraints)

Gets the most recent threat list diffs. These diffs should be applied to a local database of hashes to keep it up-to-date. If the local database is empty or excessively out-of-date, a complete snapshot of the database will be returned. This Method only updates a single ThreatList at a time. To update multiple ThreatList databases, this method needs to be called once for each list.

Sample code:


 try (WebRiskServiceClient webRiskServiceClient = WebRiskServiceClient.create()) {
   ThreatType threatType = ThreatType.forNumber(0);
   ByteString versionToken = ByteString.EMPTY;
   ComputeThreatListDiffRequest.Constraints constraints =
       ComputeThreatListDiffRequest.Constraints.newBuilder().build();
   ComputeThreatListDiffResponse response =
       webRiskServiceClient.computeThreatListDiff(threatType, versionToken, constraints);
 }
 
Parameters
NameDescription
threatTypeThreatType

Required. The threat list to update. Only a single ThreatType should be specified.

versionTokenByteString

The current version token of the client for the requested list (the client version that was received from the last successful diff). If the client does not have a version token (this is the first time calling ComputeThreatListDiff), this may be left empty and a full database snapshot will be returned.

constraintsComputeThreatListDiffRequest.Constraints

Required. The constraints associated with this request.

Returns
TypeDescription
ComputeThreatListDiffResponse

computeThreatListDiffCallable()

public final UnaryCallable<ComputeThreatListDiffRequest,ComputeThreatListDiffResponse> computeThreatListDiffCallable()

Gets the most recent threat list diffs. These diffs should be applied to a local database of hashes to keep it up-to-date. If the local database is empty or excessively out-of-date, a complete snapshot of the database will be returned. This Method only updates a single ThreatList at a time. To update multiple ThreatList databases, this method needs to be called once for each list.

Sample code:


 try (WebRiskServiceClient webRiskServiceClient = WebRiskServiceClient.create()) {
   ComputeThreatListDiffRequest request =
       ComputeThreatListDiffRequest.newBuilder()
           .setThreatType(ThreatType.forNumber(0))
           .setVersionToken(ByteString.EMPTY)
           .setConstraints(ComputeThreatListDiffRequest.Constraints.newBuilder().build())
           .build();
   ApiFuture
Returns
TypeDescription
UnaryCallable<ComputeThreatListDiffRequest,ComputeThreatListDiffResponse>

createSubmission(CreateSubmissionRequest request)

public final Submission createSubmission(CreateSubmissionRequest request)

Creates a Submission of a URI suspected of containing phishing content to be reviewed. If the result verifies the existence of malicious phishing content, the site will be added to the Google's Social Engineering lists in order to protect users that could get exposed to this threat in the future. Only projects with CREATE_SUBMISSION_USERS visibility can use this method.

Sample code:


 try (WebRiskServiceClient webRiskServiceClient = WebRiskServiceClient.create()) {
   CreateSubmissionRequest request =
       CreateSubmissionRequest.newBuilder()
           .setParent(ProjectName.of("[PROJECT]").toString())
           .setSubmission(Submission.newBuilder().build())
           .build();
   Submission response = webRiskServiceClient.createSubmission(request);
 }
 
Parameter
NameDescription
requestCreateSubmissionRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
Submission

createSubmission(ProjectName parent, Submission submission)

public final Submission createSubmission(ProjectName parent, Submission submission)

Creates a Submission of a URI suspected of containing phishing content to be reviewed. If the result verifies the existence of malicious phishing content, the site will be added to the Google's Social Engineering lists in order to protect users that could get exposed to this threat in the future. Only projects with CREATE_SUBMISSION_USERS visibility can use this method.

Sample code:


 try (WebRiskServiceClient webRiskServiceClient = WebRiskServiceClient.create()) {
   ProjectName parent = ProjectName.of("[PROJECT]");
   Submission submission = Submission.newBuilder().build();
   Submission response = webRiskServiceClient.createSubmission(parent, submission);
 }
 
Parameters
NameDescription
parentProjectName

Required. The name of the project that is making the submission. This string is in the format "projects/{project_number}".

submissionSubmission

Required. The submission that contains the content of the phishing report.

Returns
TypeDescription
Submission

createSubmission(String parent, Submission submission)

public final Submission createSubmission(String parent, Submission submission)

Creates a Submission of a URI suspected of containing phishing content to be reviewed. If the result verifies the existence of malicious phishing content, the site will be added to the Google's Social Engineering lists in order to protect users that could get exposed to this threat in the future. Only projects with CREATE_SUBMISSION_USERS visibility can use this method.

Sample code:


 try (WebRiskServiceClient webRiskServiceClient = WebRiskServiceClient.create()) {
   String parent = ProjectName.of("[PROJECT]").toString();
   Submission submission = Submission.newBuilder().build();
   Submission response = webRiskServiceClient.createSubmission(parent, submission);
 }
 
Parameters
NameDescription
parentString

Required. The name of the project that is making the submission. This string is in the format "projects/{project_number}".

submissionSubmission

Required. The submission that contains the content of the phishing report.

Returns
TypeDescription
Submission

createSubmissionCallable()

public final UnaryCallable<CreateSubmissionRequest,Submission> createSubmissionCallable()

Creates a Submission of a URI suspected of containing phishing content to be reviewed. If the result verifies the existence of malicious phishing content, the site will be added to the Google's Social Engineering lists in order to protect users that could get exposed to this threat in the future. Only projects with CREATE_SUBMISSION_USERS visibility can use this method.

Sample code:


 try (WebRiskServiceClient webRiskServiceClient = WebRiskServiceClient.create()) {
   CreateSubmissionRequest request =
       CreateSubmissionRequest.newBuilder()
           .setParent(ProjectName.of("[PROJECT]").toString())
           .setSubmission(Submission.newBuilder().build())
           .build();
   ApiFuture<Submission> future =
       webRiskServiceClient.createSubmissionCallable().futureCall(request);
   // Do something.
   Submission response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<CreateSubmissionRequest,Submission>

getSettings()

public final WebRiskServiceSettings getSettings()
Returns
TypeDescription
WebRiskServiceSettings

getStub()

public WebRiskServiceStub getStub()
Returns
TypeDescription
WebRiskServiceStub

isShutdown()

public boolean isShutdown()
Returns
TypeDescription
boolean

isTerminated()

public boolean isTerminated()
Returns
TypeDescription
boolean

searchHashes(ByteString hashPrefix, List<ThreatType> threatTypes)

public final SearchHashesResponse searchHashes(ByteString hashPrefix, List<ThreatType> threatTypes)

Gets the full hashes that match the requested hash prefix. This is used after a hash prefix is looked up in a threatList and there is a match. The client side threatList only holds partial hashes so the client must query this method to determine if there is a full hash match of a threat.

Sample code:


 try (WebRiskServiceClient webRiskServiceClient = WebRiskServiceClient.create()) {
   ByteString hashPrefix = ByteString.EMPTY;
   List
Parameters
NameDescription
hashPrefixByteString

A hash prefix, consisting of the most significant 4-32 bytes of a SHA256 hash. For JSON requests, this field is base64-encoded.

threatTypesList<ThreatType>

Required. The ThreatLists to search in. Multiple ThreatLists may be specified.

Returns
TypeDescription
SearchHashesResponse

searchHashes(SearchHashesRequest request)

public final SearchHashesResponse searchHashes(SearchHashesRequest request)

Gets the full hashes that match the requested hash prefix. This is used after a hash prefix is looked up in a threatList and there is a match. The client side threatList only holds partial hashes so the client must query this method to determine if there is a full hash match of a threat.

Sample code:


 try (WebRiskServiceClient webRiskServiceClient = WebRiskServiceClient.create()) {
   SearchHashesRequest request =
       SearchHashesRequest.newBuilder()
           .setHashPrefix(ByteString.EMPTY)
           .addAllThreatTypes(new ArrayList
Parameter
NameDescription
requestSearchHashesRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
SearchHashesResponse

searchHashesCallable()

public final UnaryCallable<SearchHashesRequest,SearchHashesResponse> searchHashesCallable()

Gets the full hashes that match the requested hash prefix. This is used after a hash prefix is looked up in a threatList and there is a match. The client side threatList only holds partial hashes so the client must query this method to determine if there is a full hash match of a threat.

Sample code:


 try (WebRiskServiceClient webRiskServiceClient = WebRiskServiceClient.create()) {
   SearchHashesRequest request =
       SearchHashesRequest.newBuilder()
           .setHashPrefix(ByteString.EMPTY)
           .addAllThreatTypes(new ArrayList
Returns
TypeDescription
UnaryCallable<SearchHashesRequest,SearchHashesResponse>

searchUris(SearchUrisRequest request)

public final SearchUrisResponse searchUris(SearchUrisRequest request)

This method is used to check whether a URI is on a given threatList. Multiple threatLists may be searched in a single query. The response will list all requested threatLists the URI was found to match. If the URI is not found on any of the requested ThreatList an empty response will be returned.

Sample code:


 try (WebRiskServiceClient webRiskServiceClient = WebRiskServiceClient.create()) {
   SearchUrisRequest request =
       SearchUrisRequest.newBuilder()
           .setUri("uri116076")
           .addAllThreatTypes(new ArrayList
Parameter
NameDescription
requestSearchUrisRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
SearchUrisResponse

searchUris(String uri, List<ThreatType> threatTypes)

public final SearchUrisResponse searchUris(String uri, List<ThreatType> threatTypes)

This method is used to check whether a URI is on a given threatList. Multiple threatLists may be searched in a single query. The response will list all requested threatLists the URI was found to match. If the URI is not found on any of the requested ThreatList an empty response will be returned.

Sample code:


 try (WebRiskServiceClient webRiskServiceClient = WebRiskServiceClient.create()) {
   String uri = "uri116076";
   List
Parameters
NameDescription
uriString

Required. The URI to be checked for matches.

threatTypesList<ThreatType>

Required. The ThreatLists to search in. Multiple ThreatLists may be specified.

Returns
TypeDescription
SearchUrisResponse

searchUrisCallable()

public final UnaryCallable<SearchUrisRequest,SearchUrisResponse> searchUrisCallable()

This method is used to check whether a URI is on a given threatList. Multiple threatLists may be searched in a single query. The response will list all requested threatLists the URI was found to match. If the URI is not found on any of the requested ThreatList an empty response will be returned.

Sample code:


 try (WebRiskServiceClient webRiskServiceClient = WebRiskServiceClient.create()) {
   SearchUrisRequest request =
       SearchUrisRequest.newBuilder()
           .setUri("uri116076")
           .addAllThreatTypes(new ArrayList
Returns
TypeDescription
UnaryCallable<SearchUrisRequest,SearchUrisResponse>

shutdown()

public void shutdown()

shutdownNow()

public void shutdownNow()