Class AssetlinksResource.CheckRequest
Determines whether the specified (directional) relationship exists between the specified source and target
assets. The relation describes the intent of the link between the two assets as claimed by the source asset.
An example for such relationships is the delegation of privileges or permissions. This command is most often
used by infrastructure systems to check preconditions for an action. For example, a client may want to know
if it is OK to send a web URL to a particular mobile app instead. The client can check for the relevant
asset link from the website to the mobile app to decide if the operation should be allowed. A note about
security: if you specify a secure asset as the source, such as an HTTPS website or an Android app, the API
will ensure that any statements used to generate the response have been made in a secure way by the owner of
that asset. Conversely, if the source asset is an insecure HTTP website (that is, the URL starts with
http://
instead of https://
), the API cannot verify its statements securely, and it is not possible to
ensure that the website's statements have not been altered by a third party. For more information, see the
Digital Asset Links technical design
specification.
Inheritance
Inherited Members
Namespace: Google.Apis.Digitalassetlinks.v1
Assembly: Google.Apis.Digitalassetlinks.v1.dll
Syntax
public class AssetlinksResource.CheckRequest : DigitalassetlinksBaseServiceRequest<CheckResponse>, IClientServiceRequest<CheckResponse>, IClientServiceRequest
Constructors
CheckRequest(IClientService)
Constructs a new Check request.
Declaration
public CheckRequest(IClientService service)
Parameters
Type | Name | Description |
---|---|---|
IClientService | service |
Properties
HttpMethod
Gets the HTTP method.
Declaration
public override string HttpMethod { get; }
Property Value
Type | Description |
---|---|
string |
Overrides
MethodName
Gets the method name.
Declaration
public override string MethodName { get; }
Property Value
Type | Description |
---|---|
string |
Overrides
Relation
Query string for the relation. We identify relations with strings of the format /
, where must be one of a set of pre-defined purpose categories, and
is a free-form lowercase alphanumeric string that
describes the specific use case of the statement. Refer to our API
documentation for the current list of supported relations.
For a query to match an asset link, both the query's and the asset link's relation strings must match
exactly. Example: A query with relation delegate_permission/common.handle_all_urls
matches an asset
link with relation delegate_permission/common.handle_all_urls
.
Declaration
[RequestParameter("relation", RequestParameterType.Query)]
public virtual string Relation { get; set; }
Property Value
Type | Description |
---|---|
string |
RestPath
Gets the REST path.
Declaration
public override string RestPath { get; }
Property Value
Type | Description |
---|---|
string |
Overrides
SourceAndroidAppCertificateSha256Fingerprint
The uppercase SHA-265 fingerprint of the certificate. From the PEM certificate, it can be acquired like
this: $ keytool -printcert -file $CERTFILE | grep SHA256: SHA256:
14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83: \ 42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 or
like this: $ openssl x509 -in $CERTFILE -noout -fingerprint -sha256 SHA256
Fingerprint=14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:
16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 In this example, the contents of this field would be
14:6D:E9:83:C5:73: 06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF: 44:E5
. If
these tools are not available to you, you can convert the PEM certificate into the DER format, compute
the SHA-256 hash of that string and represent the result as a hexstring (that is, uppercase hexadecimal
representations of each octet, separated by colons).
Declaration
[RequestParameter("source.androidApp.certificate.sha256Fingerprint", RequestParameterType.Query)]
public virtual string SourceAndroidAppCertificateSha256Fingerprint { get; set; }
Property Value
Type | Description |
---|---|
string |
SourceAndroidAppPackageName
Android App assets are naturally identified by their Java package name. For example, the Google Maps app
uses the package name com.google.android.apps.maps
. REQUIRED
Declaration
[RequestParameter("source.androidApp.packageName", RequestParameterType.Query)]
public virtual string SourceAndroidAppPackageName { get; set; }
Property Value
Type | Description |
---|---|
string |
SourceWebSite
Web assets are identified by a URL that contains only the scheme, hostname and port parts. The format is
http[s]://[:] Hostnames must be fully qualified: they must end in a single period (".
"). Only the
schemes "http" and "https" are currently allowed. Port numbers are given as a decimal number, and they
must be omitted if the standard port numbers are used: 80 for http and 443 for https. We call this
limited URL the "site". All URLs that share the same scheme, hostname and port are considered to be a
part of the site and thus belong to the web asset. Example: the asset with the site
https://www.google.com
contains all these URLs: * https://www.google.com/
*
https://www.google.com:443/
* https://www.google.com/foo
* https://www.google.com/foo?bar
*
https://www.google.com/foo#bar
* https://user@password:www.google.com/
But it does not contain these
URLs: * http://www.google.com/
(wrong scheme) * https://google.com/
(hostname does not match) *
https://www.google.com:444/
(port does not match) REQUIRED
Declaration
[RequestParameter("source.web.site", RequestParameterType.Query)]
public virtual string SourceWebSite { get; set; }
Property Value
Type | Description |
---|---|
string |
TargetAndroidAppCertificateSha256Fingerprint
The uppercase SHA-265 fingerprint of the certificate. From the PEM certificate, it can be acquired like
this: $ keytool -printcert -file $CERTFILE | grep SHA256: SHA256:
14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83: \ 42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 or
like this: $ openssl x509 -in $CERTFILE -noout -fingerprint -sha256 SHA256
Fingerprint=14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:
16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 In this example, the contents of this field would be
14:6D:E9:83:C5:73: 06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF: 44:E5
. If
these tools are not available to you, you can convert the PEM certificate into the DER format, compute
the SHA-256 hash of that string and represent the result as a hexstring (that is, uppercase hexadecimal
representations of each octet, separated by colons).
Declaration
[RequestParameter("target.androidApp.certificate.sha256Fingerprint", RequestParameterType.Query)]
public virtual string TargetAndroidAppCertificateSha256Fingerprint { get; set; }
Property Value
Type | Description |
---|---|
string |
TargetAndroidAppPackageName
Android App assets are naturally identified by their Java package name. For example, the Google Maps app
uses the package name com.google.android.apps.maps
. REQUIRED
Declaration
[RequestParameter("target.androidApp.packageName", RequestParameterType.Query)]
public virtual string TargetAndroidAppPackageName { get; set; }
Property Value
Type | Description |
---|---|
string |
TargetWebSite
Web assets are identified by a URL that contains only the scheme, hostname and port parts. The format is
http[s]://[:] Hostnames must be fully qualified: they must end in a single period (".
"). Only the
schemes "http" and "https" are currently allowed. Port numbers are given as a decimal number, and they
must be omitted if the standard port numbers are used: 80 for http and 443 for https. We call this
limited URL the "site". All URLs that share the same scheme, hostname and port are considered to be a
part of the site and thus belong to the web asset. Example: the asset with the site
https://www.google.com
contains all these URLs: * https://www.google.com/
*
https://www.google.com:443/
* https://www.google.com/foo
* https://www.google.com/foo?bar
*
https://www.google.com/foo#bar
* https://user@password:www.google.com/
But it does not contain these
URLs: * http://www.google.com/
(wrong scheme) * https://google.com/
(hostname does not match) *
https://www.google.com:444/
(port does not match) REQUIRED
Declaration
[RequestParameter("target.web.site", RequestParameterType.Query)]
public virtual string TargetWebSite { get; set; }
Property Value
Type | Description |
---|---|
string |
Methods
InitParameters()
Initializes Check parameter list.
Declaration
protected override void InitParameters()