<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="safebrowsing_v4.html">Google Safe Browsing API</a> . <a href="safebrowsing_v4.threatMatches.html">threatMatches</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#find">find(body, x__xgafv=None)</a></code></p>
<p class="firstline">Finds the threat entries that match the Safe Browsing lists.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="find">find(body, x__xgafv=None)</code>
  <pre>Finds the threat entries that match the Safe Browsing lists.

Args:
  body: object, The request body. (required)
    The object takes the form of:

{ # Request to check entries against lists.
    "client": { # The client metadata associated with Safe Browsing API requests. # The client metadata.
      "clientVersion": "A String", # The version of the client implementation.
      "clientId": "A String", # A client ID that (hopefully) uniquely identifies the client implementation
          # of the Safe Browsing API.
    },
    "threatInfo": { # The information regarding one or more threats that a client submits when # The lists and entries to be checked for matches.
        # checking for matches in threat lists.
      "threatTypes": [ # The threat types to be checked.
        "A String",
      ],
      "threatEntries": [ # The threat entries to be checked.
        { # An individual threat; for example, a malicious URL or its hash
            # representation. Only one of these fields should be set.
          "url": "A String", # A URL.
          "hash": "A String", # A hash prefix, consisting of the most significant 4-32 bytes of a SHA256
              # hash. This field is in binary format. For JSON requests, hashes are
              # base64-encoded.
          "digest": "A String", # The digest of an executable in SHA256 format. The API supports both
              # binary and hex digests. For JSON requests, digests are base64-encoded.
        },
      ],
      "platformTypes": [ # The platform types to be checked.
        "A String",
      ],
      "threatEntryTypes": [ # The entry types to be checked.
        "A String",
      ],
    },
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
    "matches": [ # The threat list matches.
      { # A match when checking a threat entry in the Safe Browsing threat lists.
        "threatType": "A String", # The threat type matching this threat.
        "threatEntryMetadata": { # The metadata associated with a specific threat entry. The client is expected # Optional metadata associated with this threat.
            # to know the metadata key/value pairs associated with each threat type.
          "entries": [ # The metadata entries.
            { # A single metadata entry.
              "value": "A String", # The metadata entry value. For JSON requests, the value is base64-encoded.
              "key": "A String", # The metadata entry key. For JSON requests, the key is base64-encoded.
            },
          ],
        },
        "threatEntryType": "A String", # The threat entry type matching this threat.
        "cacheDuration": "A String", # The cache lifetime for the returned match. Clients must not cache this
            # response for more than this duration to avoid false positives.
        "threat": { # An individual threat; for example, a malicious URL or its hash # The threat matching this threat.
            # representation. Only one of these fields should be set.
          "url": "A String", # A URL.
          "hash": "A String", # A hash prefix, consisting of the most significant 4-32 bytes of a SHA256
              # hash. This field is in binary format. For JSON requests, hashes are
              # base64-encoded.
          "digest": "A String", # The digest of an executable in SHA256 format. The API supports both
              # binary and hex digests. For JSON requests, digests are base64-encoded.
        },
        "platformType": "A String", # The platform type matching this threat.
      },
    ],
  }</pre>
</div>

</body></html>