Method: threatListUpdates.fetch

脅威リストの最新の更新を取得します。クライアントは、複数のリストの更新をまとめてリクエストできます。

HTTP リクエスト

POST https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch

この URL は gRPC Transcoding 構文を使用します。

リクエスト本文

リクエストの本文には、次の構造のデータが含まれます。

JSON 表現
{
  "client": {
    object (ClientInfo)
  },
  "listUpdateRequests": [
    {
      object (ListUpdateRequest)
    }
  ]
}
フィールド
client

object (ClientInfo)

クライアント メタデータ。

listUpdateRequests[]

object (ListUpdateRequest)

リクエストされた脅威リストの更新。

レスポンスの本文

成功すると、レスポンスの本文に次の構造のデータが含まれます。

JSON 表現
{
  "listUpdateResponses": [
    {
      object (ListUpdateResponse)
    }
  ],
  "minimumWaitDuration": string
}
フィールド
listUpdateResponses[]

object (ListUpdateResponse)

クライアントからリクエストされたリストの更新。ここで表示されるレスポンスの数は、クライアントから送信されたリクエストの数よりも少ない場合があります。これは、サーバーに特定のリストの更新がない場合などが該当します。

minimumWaitDuration

string (Duration format)

クライアントが更新リクエストを発行する前に待機する必要がある最小時間。このフィールドが設定されていない場合、クライアントはすぐに更新できます。

小数点以下 9 桁まで、「s」で終わる秒単位の期間(例: "3.5s")。

ListUpdateRequest

単一のリスト更新リクエスト。

JSON 表現
{
  "threatType": enum (ThreatType),
  "platformType": enum (PlatformType),
  "threatEntryType": enum (ThreatEntryType),
  "state": string,
  "constraints": {
    object (Constraints)
  }
}
フィールド
threatType

enum (ThreatType)

リスト内のエントリがもたらす脅威のタイプ。

platformType

enum (PlatformType)

リストのエントリ別の、リスクにさらされているプラットフォームのタイプ。

threatEntryType

enum (ThreatEntryType)

リストに存在するエントリのタイプ。

state

string (bytes format)

リクエストされたリストのクライアントの現在の状態(最後に成功したリスト更新から受信した暗号化されたクライアントの状態)。

Base64 でエンコードされた文字列。

constraints

object (Constraints)

このリクエストに関連する制約。

制約

このアップデートの制約。

JSON 表現
{
  "maxUpdateEntries": integer,
  "maxDatabaseEntries": integer,
  "region": string,
  "supportedCompressions": [
    enum (CompressionType)
  ],
  "language": string,
  "deviceLocation": string
}
フィールド
maxUpdateEntries

integer

エントリの最大数。この値を超えるエントリが更新に含まれることはありません。これは、2**10 と 2**20 の間の 2 のべき乗でなければなりません。ゼロの場合、アップデートのサイズの上限は設定されません。

maxDatabaseEntries

integer

指定されたリストについて、クライアントがローカル データベースに保持するエントリの最大数を設定します。これは、2**10 と 2**20 の間の 2 のべき乗でなければなりません。ゼロの場合、データベースのサイズ上限は設定されません。

region

string

特定の地域のリストをリクエストします。設定しない場合、サーバーはユーザーの IP アドレスに基づいてその値を選択します。ISO 3166-1 alpha-2 形式にする必要があります。

supportedCompressions[]

enum (CompressionType)

クライアントでサポートされている圧縮タイプ。

language

string

特定の言語のリストをリクエストします。ISO 639 alpha-2 形式にする必要があります。

deviceLocation

string

クライアントの物理的な場所。ISO 31166-1 alpha-2 のリージョン コードで表されます。

CompressionType

脅威のエントリセットを圧縮する方法。

列挙型
COMPRESSION_TYPE_UNSPECIFIED 不明
RAW 未加工の非圧縮データ。
RICE Rice-Golomb でエンコードされたデータ。

ListUpdateResponse

個々のリストの更新。

JSON 表現
{
  "threatType": enum (ThreatType),
  "threatEntryType": enum (ThreatEntryType),
  "platformType": enum (PlatformType),
  "responseType": enum (ResponseType),
  "additions": [
    {
      object (ThreatEntrySet)
    }
  ],
  "removals": [
    {
      object (ThreatEntrySet)
    }
  ],
  "newClientState": string,
  "checksum": {
    object (Checksum)
  }
}
フィールド
threatType

enum (ThreatType)

データが返される脅威のタイプ。

threatEntryType

enum (ThreatEntryType)

脅威の形式。

platformType

enum (PlatformType)

データが返されるプラットフォーム タイプ。

responseType

enum (ResponseType)

レスポンスのタイプ。これは、レスポンスの受信時にクライアントによるアクションが必要であることを示します。

additions[]

object (ThreatEntrySet)

ローカルの脅威タイプのリストに追加するエントリのセット。この繰り返しにより、圧縮データと元データの組み合わせを 1 つのレスポンスで送信できます。

removals[]

object (ThreatEntrySet)

ローカルの脅威タイプのリストから削除するエントリのセット。実際には、このフィールドは空であるか、ThreatEntrySet が 1 つだけ含まれています。

newClientState

string (bytes format)

暗号化された形式の新しいクライアントの状態。クライアントからは見えません。

Base64 でエンコードされた文字列。

checksum

object (Checksum)

クライアントの状態(指定された更新を適用した後のデータベース内に存在するすべてのハッシュの並べ替え済みリスト)の想定される SHA256 ハッシュ。クライアントの状態が想定された状態と一致しない場合、クライアントはこの更新を無視して、後で再試行する必要があります。

ResponseType

クライアントに送信されるレスポンスの型。

列挙型
RESPONSE_TYPE_UNSPECIFIED 不明
PARTIAL_UPDATE 部分更新は、クライアントの既存のローカル データベースに適用されます。
FULL_UPDATE フル アップデートにより、クライアントのローカル データベース全体が置き換えられます。これは、クライアントが著しく古くなっているか、クライアントが破損していると考えられることを意味します。

ThreatEntrySet

クライアントのローカル データベースに対して追加または削除する必要がある一連の脅威。

JSON 表現
{
  "compressionType": enum (CompressionType),
  "rawHashes": {
    object (RawHashes)
  },
  "rawIndices": {
    object (RawIndices)
  },
  "riceHashes": {
    object (RiceDeltaEncoding)
  },
  "riceIndices": {
    object (RiceDeltaEncoding)
  }
}
フィールド
compressionType

enum (CompressionType)

このセット内のエントリの圧縮タイプ。

rawHashes

object (RawHashes)

未加工の SHA256 形式のエントリ。

rawIndices

object (RawIndices)

ローカルリストの未加工の削除インデックス。

riceHashes

object (RiceDeltaEncoding)

Golomb-Rice エンコードを使用して、SHA256 形式のエントリのエンコードされた 4 バイトのプレフィックス。ハッシュは uint32 に変換されて昇順で並べ替えられ、その後デルタ エンコードされて encodedData として保存されます。

riceIndices

object (RiceDeltaEncoding)

Golomb-Rice エンコードを使用して、エンコードされたローカルの辞書順で並べ替えられたリスト インデックス。圧縮された削除インデックスを送信するために使用されます。削除インデックス(uint32)は昇順で並べ替えられ、その後デルタ エンコードされて encodedData として保存されます。

RawHashes

特定のプレフィックス長のハッシュ形式で、圧縮されていない脅威エントリ。ハッシュのサイズは 4 ~ 32 バイトです。大部分のハッシュは 4 バイトですが、よく使用される URL のハッシュと競合する場合は一部のハッシュが長くなります。

圧縮をサポートしていないクライアントに ThreatEntrySet を送信する場合、または圧縮をサポートするクライアントに 4 バイト以外のハッシュを送信する場合に使用されます。

JSON 表現
{
  "prefixSize": integer,
  "rawHashes": string
}
フィールド
prefixSize

integer

以下でエンコードされた各接頭辞のバイト数。このフィールドには、4(最も短いプレフィックス)から 32(完全な SHA256 ハッシュ)までの値を指定できます。

rawHashes

string (bytes format)

1 つの長い文字列に連結されたバイナリ形式のハッシュ。ハッシュは辞書順で並べ替えられます。JSON API ユーザーの場合、ハッシュは Base64 でエンコードされます。

Base64 でエンコードされた文字列。

RawIndices

ローカルリストから削除する未加工インデックスのセット。

JSON 表現
{
  "indices": [
    integer
  ]
}
フィールド
indices[]

integer

辞書順に並べ替えられたローカルリストから削除するインデックス。

RiceDeltaEncoding

Rice-Golomb でエンコードされたデータ。圧縮された 4 バイトのハッシュまたは圧縮された削除インデックスを送信するために使用されます。

JSON 表現
{
  "firstValue": string,
  "riceParameter": integer,
  "numEntries": integer,
  "encodedData": string
}
フィールド
firstValue

string (int64 format)

エンコードされたデータの最初のエントリのオフセット。1 つの整数のみがエンコードされている場合はその整数の値。フィールドが空であるか欠落している場合は、0 であると見なされます。

riceParameter

integer

Golomb-Rice パラメータ(2 ~ 28 の数字)。numEntries がゼロの場合、このフィールドはなくなります(ゼロ)。

numEntries

integer

エンコードされたデータでデルタ エンコードされたエントリの数。1 つの整数のみがエンコードされている場合、この値はゼロになり、単一の値が firstValue に格納されます。

encodedData

string (bytes format)

Golomb-Rice コーダーを使用してエンコードされた、エンコードされた差分。

Base64 でエンコードされた文字列。

チェックサム

クライアントのローカル データベースの想定される状態。

JSON 表現
{
  "sha256": string
}
フィールド
sha256

string (bytes format)

クライアントの状態(データベース内に存在するすべてのハッシュの並べ替え済みリスト)の SHA256 ハッシュ。

Base64 でエンコードされた文字列。