RotatingBarcode

JSON 表示法
{
  "type": enum (BarcodeType),
  "renderEncoding": enum (BarcodeRenderEncoding),
  "valuePattern": string,
  "totpDetails": {
    object (TotpDetails)
  },
  "alternateText": string,
  "showCodeText": {
    object (LocalizedString)
  },
  "initialRotatingBarcodeValues": {
    object (RotatingBarcodeValues)
  }
}
欄位
type

enum (BarcodeType)

這個條碼的類型。

renderEncoding

enum (BarcodeRenderEncoding)

條碼的轉譯編碼。如有指定,則會以指定的編碼轉譯條碼;如未指定,則由 Google 選擇最著名的編碼。

valuePattern

string

字串編碼條碼值。這個字串支援以下替換: * {totp_value_n}:以 TOTP 值取代 (請參閱 TotpDetails.parameters)。* {totp_timestamp_millis}:會替換成產生條碼的時間戳記 (自紀元起算的毫秒數)。* {totp_timestamp_seconds}:替換為產生條碼的時間戳記 (自 Epoch 紀元時間起算的秒數)。

totpDetails

object (TotpDetails)

用來評估 {totp_value_n} 替代項目的詳細資料。

alternateText

string

選用文字,會覆寫條碼下方顯示的預設文字。這個欄位用於提供使用者能夠理解的條碼值對應內容,條碼無法掃描時即可派上用場。

showCodeText

object (LocalizedString)

執行點選動作後隱藏條碼時顯示的選填文字。如果票證已啟用智慧感應功能,就會發生這種情形。如果未指定,則由 Google 選擇預設值。

initialRotatingBarcodeValues

object (RotatingBarcodeValues)

僅限輸入。注意:這項功能僅適用於大眾運輸類別。可選的初始輪替條碼值集。這樣一來,物件就能包含少量子集的條碼。進一步旋轉的條碼值必須透過 UploadRotatingBarcodeValues 端點上傳。

TotpDetails

時間型 OTP 替換的設定。詳情請參閱 https://tools.ietf.org/html/rfc6238

JSON 表示法
{
  "periodMillis": string,
  "algorithm": enum (TotpAlgorithm),
  "parameters": [
    {
      object (TotpParameters)
    }
  ]
}
欄位
periodMillis

string (int64 format)

用於產生 TOTP 值的時間間隔 (以毫秒為單位)。

algorithm

enum (TotpAlgorithm)

用於產生 OTP 的 TOTP 演算法。

parameters[]

object (TotpParameters)

每個 {totp_value_*} 替代變數的 TOTP 參數。索引 n 的 TotpParameters 會用於 {totp_value_n} 替換。

TotpAlgorithm

列舉
TOTP_ALGORITHM_UNSPECIFIED
TOTP_SHA1 使用 SHA1 雜湊函式的 RFC 6238 中的 TOTP 演算法

TotpParameters

設定索引鍵和值的長度。詳情請參閱 https://www.rfc-editor.org/rfc/rfc4226#section-5.3

JSON 表示法
{
  "key": string,
  "valueLength": integer
}
欄位
key

string

用於產生 TOTP 值的密鑰,以 Base16 字串編碼。

valueLength

integer

TOTP 值的長度,以十進制位數為單位。

RotatingBarcodeValues

酬載,其中包含許多條碼值和開始日期/時間。

JSON 表示法
{
  "startDateTime": string,
  "values": [
    string
  ],
  "periodMillis": string
}
欄位
startDateTime

string

必要欄位。第一個條碼的有效日期/時間。條碼會以物件 RotatingBarcodeValueInfo 上定義的 periodMillis 輪替顯示。

日期/時間採用 ISO 8601 擴充格式 (含有偏移量)。時間的精確度可以指定到奈秒。此外,即使 ISO 8601 格式並未包含時差的秒數,時差的精確度仍可指定到秒。

例如:

1985-04-12T23:20:50.52Z 是世界標準時間 1985 年 4 月 12 日 23 時 20 分 50.52 秒。

1985-04-12T19:20:50.52-04:00 是 1985 年 4 月 12 日 19 時 20 分 50.52 秒,當地時間比世界標準時間慢 4 小時 (與上述範例為同一時間)。如果活動是在紐約舉行,則等同於美東夏令時間 (EDT)。請注意,時差可能會因當地當時是否施行日光節約時間 (或夏令時間) 而異。

values[]

string

必要欄位。要在條碼中編碼的值。至少須輸入一個值。

periodMillis

string (int64 format)

必要欄位。每個條碼的有效時間。