データ型
APIに対するdata
型ポーリングで返された結果は、以下に概説されている形式のいずれかで情報を返します。
結果ペイロード
属性
データJSONペイロードのルート構造には、次の属性があります。
名前 | タイプ | 説明 |
---|---|---|
data | データ オブジェクトのリスト | ソースから取得したデータ。 |
metadata | メタデータ オブジェクト | データに関連するメタdata 。 |
メタデータ
属性
名前 | タイプ | 説明 |
---|---|---|
count | 整数 | data 内のオブジェクトの数。 |
ファイル
file
データタイプは、 files
タイプポーリングを通じてAPIからダウンロードできるファイルへの参照であるため、API全体で見られfiles
。
属性
名前 | タイプ | 説明 |
---|---|---|
file_id | 弦 | API からファイルをリクエストするために使用される識別子。値は、現在のソースのスコープ内でのみ一意であることが保証されます。 |
type | 文字列、常にfile | データ型指定子。 |
name | ストリング | 拡張子を除いたファイルの名前。 |
extension | 文字列、オプション | 利用可能な場合、ファイルの拡張子。 |
mime_type | 文字列、オプション | 利用可能な場合、ファイルの MIME タイプ。 |
size | 整数、オプション | 利用可能な場合、ファイルのサイズ。 |
checksum | 文字列、オプション | 利用可能な場合は md5 チェックサム。 |
例
{ "file_id": "abc123", "type": "file", "name": "IMG_0003", "extension": "jpg", "mime_type": "image/jpeg", "size": 2505426, }
画像
名前 | タイプ | 説明 |
---|---|---|
file_id | 弦 | API からファイルをリクエストするために使用される識別子。値は、現在のソースのスコープ内でのみ一意であることが保証されます。 |
type | 弦 | 常にimage 。 |
filename | ストリング | ファイルの元のファイル名。このファイル名の拡張子は、ファイルの拡張子と一致する必要があります。 |
file_path | 弦 | サービス内の他のファイルに対するファイルの相対パス。たとえば、バックアップ内のパスなどです。 |
width | 整数、オプション | 利用可能な場合、ファイルの幅。 |
height | 整数、オプション | 利用可能な場合、ファイルの高さ。 |
例
{ "file_id": "abc123", "type": "image", "filename": "IMG_0003.JPG", "file_path": "Media/DCIM/100APPLE/IMG_0003.JPG", "name": "IMG_0003", "extension": "jpg", "mime_type": "image/jpeg", "width": 3000, "height": 2002, "size": 2505426, }
ビデオ
名前 | タイプ | 説明 |
---|---|---|
file_id | 弦 | API からファイルをリクエストするために使用される識別子。値は、現在のソースのスコープ内でのみ一意であることが保証されます。 |
type | 弦 | 常にvideo 。 |
filename | ストリング | ファイルの元のファイル名。このファイル名の拡張子は、ファイルの拡張子と一致する必要があります。 |
file_path | 弦 | サービス内の他のファイルに対するファイルの相対パス。たとえば、バックアップ内のパスなどです。 |
width | 整数、オプション | 利用可能な場合、ファイルの幅。 |
height | 整数、オプション | 利用可能な場合、ファイルの高さ。 |
duration | 整数、オプション | 利用可能な場合、ビデオの長さ。 |
例
{ "file_id": "abc123", "type": "video", "filename": "IMG_0009.MOV", "file_path": "Media/DCIM/100APPLE/IMG_0009.MOV", "name": "IMG_0009", "extension": "mov", "mime_type": "video/quicktime", "width": 1920, "height": 1080, "size": 5421796, "duration": 9.135623 }
ビデオ
名前 | タイプ | 説明 |
---|---|---|
file_id | 弦 | API からファイルをリクエストするために使用される識別子。値は、現在のソースのスコープ内でのみ一意であることが保証されます。 |
type | 弦 | 常にaudio 。 |
filename | ストリング | ファイルの元のファイル名。このファイル名の拡張子は、ファイルの拡張子と一致する必要があります。 |
file_path | 弦 | サービス内の他のファイルに対するファイルの相対パス。たとえば、バックアップ内のパスなどです。 |
transcription | 文字列、オプション | オーディオ メッセージのテキスト トランスクリプション (利用可能な場合)。 |
例
{ "id": "abc123", "type": "audio", "filename": "Audio Message.caf", "file_path": "Library/SMS/Attachments/.../Audio Message.caf", "transcription": "Test voice message", }
音声転写
バックアップのデータで利用可能な場合、音声メッセージの文字起こしがaudio
オブジェクトの一部として返されます。これは、iOS 17 以降の iOS メッセージで作成されたオーディオ メッセージで利用できます。
メッセージ
属性
名前 | タイプ | 説明 |
---|---|---|
id | ストリング | メッセージの一意の識別子。必要に応じて、これを使用して返されたデータを重複排除します。 |
data_type | 文字列、常にmessage | データ型指定子。 |
type | 文字列、オプション | メッセージング サービスがさまざまな種類のメッセージを処理するときに使用されます。たとえば、iOS メッセージの場合はSMS とiMessage です。 |
handle | 弦 | 会話の 2 番目のパーティ。多くの場合、メッセージング アプリに固有の識別子。 |
handle_name | 文字列、オプション | 可能な場合は、ハンドルの表示名。 |
contact | ネストされた連絡先、オプション | 会話の相手の iOS 連絡先を参照するオブジェクト。 |
conversation_id | ストリング | 会話ごとにメッセージをグループ化する識別子。 |
from_me | ブール | メッセージが送信されたか受信されたか。 |
user | 文字列、オプション | 複数のユーザー/アカウントがデバイスからメッセージング アプリを使用している可能性がある場合のメッセージング アプリのユーザー。 |
text | ストリング | メッセージの本文。 |
edits | 編集リスト、オプション | メッセージ編集がサポートされ、履歴がバックアップに保存されているアプリのメッセージ コンテンツ編集のリスト。 |
attachments | ファイルのリスト、オプション | download_file メソッドで使用できるfile_id 値の配列。メッセージに添付ファイルが含まれていない場合は、空の配列が返されます。 |
group | 文字列、オプション | メッセージが送信された時点のグループの名前。 |
group_id | 文字列、オプション | そのアプリのコンテキスト内でのグループの一意の識別子。これは整数ではない可能性があり、存在する場合は、 conversation_id に加えて情報のみを提供します。 |
group_handles | 文字列のリスト、オプション | 個人間のメッセージの場合、この値はnull であり、グループの会話では、電話番号または iMessage の電子メール アドレスを表す文字列の配列です。 |
group_contacts | 文字列、オプション | グループ内の iOS 連絡先を参照するオブジェクトの配列。 |
deleted | ブール値、オプション | メッセージが削除されたかどうかを示すブール値。 |
marked_unread | ブール値、オプション | 可能な場合、ユーザーがメッセージを未読としてマークしたかどうか。 |
date | 日付時刻 | メッセージがいつ送信または受信されたか。 |
date_read | 日時、オプション | メッセージが最初に読まれたとき (利用可能な場合)。 |
date_edited | 日時、オプション | メッセージが最後に編集された日時 (該当する場合)。 |
date_deleted | 日時、オプション | 該当する場合、メッセージが削除されたとき。 |
例
{ "id": "a1b2c3d4", "data_type": "message", "type": "SMS", "handle": "reincubate", "handle_name": "Reincubate", "conversation_id": "w6x7y8z9", "from_me": false, "text": "Hi from London!", "edits": [{ "text": "Hi!", "date": "2023-06-27T10:20:00.000000Z" }, { "text": "Hi from London!", "date": "2023-06-27T10:21:00.000000Z" }], "attachments": [], "group_handles": [ "+441234567890", "renate@reincubate.com" ], "deleted": false, "date": "2023-06-27T10:20:00.000000Z", "date_edited": "2023-06-27T10:21:00.000000Z" }
メッセージ ハンドルと会話
API のデータ エクストラクタは、歴史的に幅広いソース データをサポートし、時間の経過とともにアプリや iOS の更新によって断片化されたデータを再編成しようとします。メッセージング アプリは新機能を追加する際、基礎となるデータが新しい構造に完全に移行されるよう常に注意を払っているわけではありません。したがって、一貫性のあるデータを返すために、API は特定の情報を推測する必要があります。
そのようなケースの 1 つは、メッセージング アプリ、特にios_messages.messages
データ モジュールから返されるハンドルと会話情報です。 API は、数値識別子 (そのような情報が存在するか推測できる場合)、またはセカンド パーティのハンドルを使用してconversation_id
conversation_id
設定します。したがって、このフィールドを使用して、同じチャットからのメッセージを結合することをお勧めします。
編集および削除されたメッセージ
編集および削除されたメッセージに関する情報は、iOS 16 以降を実行しているデバイスから作成されたバックアップのios_messages.messages
で利用できます。削除されたメッセージの場合、情報が入手できるのは、バックアップが作成された時点でメッセージがまだ回復可能である間のみであると予想されます。Apple によれば、それは削除後 30 ~ 40 日後です。
編集されたメッセージの場合、編集履歴はedits
属性で返されます。各編集には、 text
の状態と編集がコミットされた時刻が含まれます。メッセージ自体のtext
属性は、最終編集のテキスト属性と常に同じになります。
会話
会話スレッド。
名前 | タイプ | 説明 |
---|---|---|
id | ストリング | アイテムID。 |
data_type | 文字列、常にconversation | 項目データ型 ID。 |
group | オプションの文字列 | グループの名前。 |
members | contact 一覧 | 会話の参加者。 |
連絡先
contact
属性
名前 | タイプ | 説明 |
---|---|---|
id | ストリング | アイテムID。 |
data_type | 文字列、常にcontact | 項目データ型 ID。 |
name | オプションの文字列 | 連絡先の氏名。 |
first_name | オプションの文字列 | 連絡先の名。 |
middle_name | オプションの文字列 | 連絡先のミドル ネーム。 |
last_name | オプションの文字列 | 連絡先の姓。 |
prefix | オプションの文字列 | 連絡先の名前のプレフィックス。 |
suffix | オプションの文字列 | 連絡先の名前のサフィックス。 |
nickname | オプションの文字列 | 連絡先のニックネーム。 |
records | contact.record 項目のリスト | 連絡先に関連付けられた連絡先レコード。 |
organisation | オプションの文字列 | 連絡先の組織名。 |
department | オプションの文字列 | 組織内の連絡先の部門。 |
jobtitle | オプションの文字列 | 組織内での連絡先の役職。 |
birthday | 任意の日付 | 連絡先の誕生日。 |
contact.record
属性
連絡先レコードアイテムには、 Phone
、 Email
、 URL
、 Social
、 Address
5種類がありURL
。これらは、それぞれ電話番号、電子メールアドレス、WebサイトURL、ソーシャルメディアアカウントハンドル、および番地に対応しています。
最初の4つは同じ属性を持っています。
名前 | タイプ | 説明 |
---|---|---|
type | ストリング | Phone 、 Email 、 URL 、 Social のいずれか。 |
name | オプションの文字列 | レコードに関連付けられたラベル。 |
value | ストリング | レコードの値。 |
Address
連絡先レコードタイプには、追加の住所フィールドがあります。
名前 | タイプ | 説明 |
---|---|---|
type | 文字列、常にAddress | 電話番号の記録。 |
name | オプションの文字列 | 番号に関連付けられたラベル。 |
CountryCode | オプションの文字列 | 国コード。 |
Country | オプションの文字列 | 国名。 |
ZIP | オプションの文字列 | 郵便番号。 |
State | オプションの文字列 | 州の名前または略語。 |
City | オプションの文字列 | 都市名。 |
Municipality | オプションの文字列 | 自治体名です。 |
SubLocality | オプションの文字列 | 近隣または地域の名前。 |
Street | オプションの文字列 | 番地名。 |
サンプルデータ
{ "id": "2cf6a837304d6614", "data_type": "contact", "first_name": "John", "middle_name": "'Gala'", "last_name": "Appleseed", "prefix": "Mr.", "suffix": "Jr.", "nickname": "John'o", "records": [ { "type": "Phone", "name": "MAIN", "value": "1-800-MY-APPLE" }, { "type": "Phone", "name": "UK", "value": "0800 039 1010" }, { "type": "URL", "name": "HOMEPAGE", "value": "http://www.apple.com" }, { "type": "URL", "name": "HOMEPAGE", "value": "http://www.apple.com/uk/" }, { "City": "Cupertino", "State": "CA", "ZIP": "95014", "name": "WORK", "CountryCode": "US", "Country": "United States", "Street": "1 Infinite Loop", "type": "Address", "SubLocality": null, "Municipality": null } ], "organisation": "Apple Inc.", "department": "Marketing", "jobtitle": "VP Juicing", "birthday": "1976-04-01" }
コール
属性
名前 | タイプ | 説明 |
---|---|---|
id | ストリング | アイテムID。 |
data_type | 文字列、常にcall | 項目データ型 ID。 |
call_type | ストリング | Phone 、 FaceTime Video 、 FaceTime Audio のいずれか。 |
address | ストリング | 呼び出しのターゲット。電話番号、Apple ID、またはその他の識別子の可能性があります。 |
duration | 浮く | 通話時間。 |
answered | ブール | 通話に応答したかどうか。 |
from_me | ブール | 通話が発信か着信か。 |
date | 日付時刻 | コールが行われたとき。 |
サンプルデータ
{ "id": "24116c5b16b85217", "data_type": "call", "call_type": "Phone", "address": "07123456789", "duration": 5.131359, "answered": false, "from_me": true, "date": "2015-07-20 10:23:27.538011" }
イベント
event
属性
名前 | タイプ | 説明 |
---|---|---|
id | ストリング | アイテムID。 |
data_type | 文字列、常にevent | 項目データ型 ID。 |
unique_identifier | オプションの文字列 | 複数のイベント データ ソース間で重複排除するためのアイテム UID。 |
calendar | オプションの文字列 | カレンダー名。 |
calendar_uid | オプションの文字列 | カレンダー UID。 |
calendar_store | オプションの文字列 | カレンダー ストア タイプ、つまりiCloud 、 Default 。 |
summary | オプションの文字列 | イベントの概要またはタイトル。 |
description | オプションの文字列 | イベントの説明。 |
start_date | オプションの日時 | イベント開始時。 |
end_date | オプションの日時 | イベント終了時。 |
start_time_zone | オプションの文字列 | start_date のタイムゾーン。 |
end_time_zone | オプションの文字列 | end_date のタイムワン。 |
all_day | ブール値 | イベントが終日続くかどうか。 |
travel_time | オプションの期間 | イベントの移動時間。 |
recurrence | オプションのネストされたevent.recurrence | イベントの繰り返し設定。 |
location | オプションの文字列 | イベントが行われている場所。 |
start_location | オプションの文字列 | イベントが開始される場所。 |
attendees | オプションの文字列リスト | イベント参加者の名前。 |
attached_url | オプションの文字列 | イベントに関連付けられた URL。 |
creation_date | オプションの日時 | イベントが作成されたとき。祝日など、既定のカレンダー エントリの場合は設定されません。 |
event.recurrence
属性
名前 | タイプ | 説明 |
---|---|---|
interval | 整数 | repeat の回数、つまり 1 Yearly (1 年に 1 回)。 |
repeat | ストリング | OneTime 、 Daily 、 Weekly 、 Monthly 、 Yearly のいずれか。 |
repeat_end_date | オプションの日時 | いつ再発を停止するか。 |
サンプルデータ
{ "id": "3", "unique_identifier": "f5fcf872-34f6-3f60-ba03-74d5a7a3bbbb", "calendar": "Home", "calendar_id": "477a2001537fe178d6b77cdceb8bac2e", "calendar_store": "Default", "summary": "Christmas Day", "description": "Bank holiday in the UK", "start_date": "2017-12-25T00:00:00.000000", "end_date": "2017-12-25T23:59:59.000000", "start_time_zone": None, "end_time_zone": None, "all_day": True, "travel_time": None, "recurrence": { "interval": 1, "repeat": "Yearly", "repeat_end_date": None, "specifier": "" }, "location": None, "start_location": None, "attendees": ["John Appleseed"], "attached_url": None, "creation_date": None }
注意
{ "title": "Monday meeting:", "note": "Monday meeting:\n Discuss X,\n discuss Y.", "summary": null, "folder": "icloud", "sub_folder": "work", "attachments": [ { "type": "image", "file_id": "8e22cf6e524357b4eb3da775d193072ebba9543f", "file_path": "Media/80DDDEAD-B33F-37B2-7219432C0359/Image.jpeg" } ], "creation_date": "2016-06-06 13:23:20.000000", "last_modified": "2016-06-07 15:21:25.000000" }
訪問
ウェブサイトのページ訪問の記録。
属性
名前 | タイプ | 説明 |
---|---|---|
data_type | 文字列、常にvisit | 項目データ型 ID。 |
url | ストリング | アクセスしたページの URL。 |
title | ストリング | 訪問したページのタイトル。 |
date_created | 日付時刻 | 訪問が発生したとき。 |
{ "data_type": "visit", "url": "https://reincubate.com/", "title": "Reincubate: the app data company", "date_created": "2020-01-01T00:00:00.000000Z" }
クッキー
HTTP Cookie。
属性
名前 | タイプ | 説明 |
---|---|---|
data_type | 文字列、常にcookie | 項目データ型 ID。 |
name | ストリング | クッキーの名前。 |
value | ストリング | Cookie の値。 |
domain | ストリング | Cookie のドメイン指定子。 |
path | ストリング | Cookie のパス指定子。 |
flags | ストリング | Cookie に設定されたフラグ。 |
creation_date | 日付時刻 | クッキーが作成されたとき。 |
expiry_date | 日付時刻 | クッキーの有効期限が切れたとき。 |
{ "data_type": "cookie", "name": "sample_cookies", "value": "sample_value", "domain": "reincubate.com", "path": "/", "flags": "", "creation_date": "2020-01-01T00:00:00.000000Z", "expiry_date": "2020-01-01T00:00:00.000000Z" }
ロケーション
データ属性
名前 | タイプ | 説明 |
---|---|---|
data_type | 文字列、常にlocation | データ型識別子。 |
latitude | 浮く | 場所の緯度座標。 |
longitude | 浮く | 場所の経度座標。 |
altitude | 浮く | 場所の高度座標。 |
horizontal_accuracy | 浮く | 測定の水平精度。 |
vertical_accuracy | 浮く | 測定の垂直精度。 |
position_type | ストリング | 使用された測定方法の識別子。 |
date_created | 日付時刻 | 測定が行われたとき。 |
サンプルデータ
{ "data_type": "location", "latitude": 51.507452392689146, "longitude": -0.07398372304584414, "altitude": 0.0, "horizontal_accuracy": 65.0, "vertical_accuracy": 0.0, "positioning_type": "Wifi", "date_created": "2020-01-01T00:00:00.000000Z" }