Apple iCloudサービス

更新しました

このAPIは、AppleのiCloudサービスからのさまざまなデータやファイルの取得をサポートしています。これには、デバイスのiCloudバックアップデータ、Find My iPhoneデータ、および多数のほぼリアルタイムのCloudKitデータソースへのアクセスが含まれます。

セッション

APIでiCloudサービスのセッションを設定することは、iCloudアカウントにログインするのと同じくらい簡単です。アカウントが2FAや2SVなどの多要素認証を有効にしている場合、プロセスはセッションの作成で複数回の試行を要求する可能性があります。

セッションを作成する最初の呼び出しは以下のようになります。

curl https://ricloud-api.reincubate.com/sessions \
  -X POST \
  -H 'Authorization: Token <your key_token>' \
  -H 'Content-Type: application/json' \
  -d '{
  "source": {
    "user": "1",
    "type": "icloud.account",
    "identifier": "<iCloud account username>"
  },
  "payload": {
    "password": "<iCloud account password>"
  }
}'

非2FA /非2SV対応アカウントの場合、提供された資格情報が有効であれば、これでアクティブセッションを確立するのに十分です。

ただし、2FAが有効になっているアカウントはcode-requiredエラー応答を受け取り、2FAコードを送信するアカウントにリンクされているデバイスで2FAプロセスがトリガーされます。このコードは、次回のセッション作成呼び出しでAPIに提供する必要があります。

curl https://ricloud-api.reincubate.com/sessions \
  -X POST \
  -H 'Authorization: Token <your key_token>' \
  -H 'Content-Type: application/json' \
  -d '{
  "source": {
    "user": "1",
    "type": "icloud.account",
    "identifier": "<iCloud account username>"
  },
  "payload": {
    "password": "<iCloud account password>",
    "code": "<fresh 2FA code>"
  }
}'

最後に、2SVが有効になっているアカウントは、2SVプロセスを完了するためにトリガーされる可能性があるアカウントにリンクされている可能性のあるデバイスのリストと共に、 choice-requiredエラー応答を受け取ります。

curl https://ricloud-api.reincubate.com/sessions \
  -X POST \
  -H 'Authorization: Token <your key_token>' \
  -H 'Content-Type: application/json' \
  -d '{
  "source": {
    "user": "1",
    "type": "icloud.account",
    "identifier": "<iCloud account username>"
  },
  "payload": {
    "password": "<iCloud account password>",
    "choice": "<choice identifier from choices fields of `choice-required` error>"
  }
}'

この呼び出しは、選択されたデバイスにコードが送信されるようにトリガーします。これは、ペイロードの場合と同様にセッション初期化プロセスを完了するために使用できます。

セッション作成ペイロードによって受け入れられるパラメータを以下の表にまとめます。

タイプ説明
パスワードひも iCloudアカウントのパスワード。
コードオプション、文字列 iCloudアカウントでマルチファクタ(2FAなど)が有効になっている場合、このパラメータは必須になります。
選択オプション、文字列 iCloudアカウントで2SVが有効になっている場合、セッション作成プロセス中にこのパラメータが必要になります。

ソースタイプ

識別子説明
icloud.account プライマリソース iCloudアカウントに対応します。
icloud.backup iOSデバイスのiCloudバックアップ。

アンケート

iCloudサービスは、すべてのポーリングペイロードスキーマ属性をサポートしています。

ソース情報の取得

このポーリングタイプは、ターゲットソースに関する情報を取得します。結果はJSON形式で公開されています。

たとえば、 icloud.accountソース情報は、アカウントの詳細、iCloudバックアップのリスト( icloud.backup子ソース)、およびその他のメタ情報を返します。

cURLを使う

curl https://ricloud-api.reincubate.com/polls \
  -X POST \
  -H 'Authorization: Token <your key_token>' \
  -H 'Content-Type: application/json' \
  -d '{
    "session": "<session ID>",
  "payload": {
    "info_types": ["*"]
  }
}'

* ricloud-py * を使う

import ricloud

# The ID of a session we made earlier.
session_id = "<session ID>"

poll = ricloud.Poll.create(
  session=session_id,
  payload={
    "info_types": ["*"]
  }
)

データの取得

このポーリングタイプは、ターゲットセッションからデータを取得して処理します。結果はJSON形式で公開されます。

特定のデータ型の詳細については、利用可能なデータ型のリストをご覧ください。

cURLを使う

curl https://ricloud-api.reincubate.com/polls \
  -X POST \
  -H 'Authorization: Token <your key_token>' \
  -H 'Content-Type: application/json' \
  -d '{
    "session": "<session ID>",
    "payload": {
        "data_types": ["icpl.photos"]
    }
}'

* ricloud-py * を使う

import ricloud

# The ID of a session we made earlier.
session_id = "<session ID>"

poll_payload = {
    "data_types": ["icpl.photos"]
}

poll = ricloud.Poll.create(
  session=session_id,
  payload=poll_payload,
)

ファイルを取得する

filesポーリングペイロード属性は、バックアップからのバイナリファイルの取得を指定しました。通常、IDは、写真などの直接的なファイル参照を含むデータタイプ、またはメッセージデータタイプなどの添付ファイルを含むデータタイプの以前のポーリングから取得されます。

cURLを使う

curl https://ricloud-api.reincubate.com/polls \
  -X POST \
  -H 'Authorization: Token <your key_token>' \
  -H 'Content-Type: application/json' \
  -d '{
    "session": "<session ID>",
    "payload": {
        "files": [
            "icpl://01a266abcd6c1a74056891b9c7ed9016b0c319ecabc1e7d658896f59c305768f71961fef92091cfed21f",
            "icpl://0167ba732e5f53e20efd7b0a1d859abcdd97e698af01afc3ab2f1d65880f7abcce0bfb89142ee770fac5"
        ]
    }
}'

* ricloud-py * を使う

import ricloud

# The ID of a session we made earlier.
session_id = "<session ID>"

poll_payload = {
    'files': [
        'icpl://01a26621ad6c1a74056891b9c7ed9016b0c319ec0d01e7d658896f59c305768f71961fef92091cfed21f',
        'icpl://0167ba732e5f53e20efd7b0a1d8593b0dd97e698af01afc3ab2f1d65880f713dce0bfb89142ee770fac5',
    ]
}

poll = ricloud.Poll.create(
  session=session_id,
  payload=poll_payload,
)

データ型

iCloudデータ型

識別子説明
icpl.photos iCloudフォトライブラリファイルを取得します。
mme_contacts.contacts iCloudに保存されているiOS連絡先データを取得します。
mme_calendar.events iCloudに保存されているiOSカレンダーデータを取得します。
mme_notes.notes iCloudに保存されているiOS Notesデータを取得します。
callkit.calls CallKit同期iOS Phoneデータを取得します。
cloudkit_safari.history iCloudに保存されているSafariブラウザーの履歴データを取得します。
fmip.locations 「iPhoneの現在地を検索」データを取得します。

iCloudバックアップアプリのデータタイプ

識別子説明
ios_messages.messages iMessageやSMSなどのiOSメッセージデータを取得します。
ios_contacts.contacts iOSの連絡先データを取得します。
ios_phone.calls iOSの電話データを取得します。
ios_calendar.events iOSカレンダーデータを取得します。
ios_notes.notes iOS Notesデータを取得します。
ios_health.data iOS Healthデータを取得します。
ios_safari.history Safariブラウザーの履歴データを取得します。
ios_safari.cookies Safariのクッキーデータを取得します。
whatsapp.messages WhatsAppメッセージを取得します。
whatsapp.calls WhatsApp通話履歴を取得します。
viber.messages Viberのメッセージを取得します。
viber.calls Viberの通話履歴を取得します。
viber.conversations Viberの会話を取得します。
viber.contacts Viberの連絡先を取得します。
kik.messages Kikメッセージを取得します
kik.contacts Kikの連絡先を取得します。
hike.messages ハイキングメッセージを取得します。
hike.posts ハイキングの投稿を取得します。
wechat.messages WeChatメッセージを取得します。
tinder.messages Tinderメッセージを取得します。
line.messages 行メッセージを取得します。
facebook.messages Facebookのメッセージを取得します。
snapchat.messages Snapchatメッセージを取得します。
snapchat.stories Snapchatストーリーを取得します。
skype.messages Skypeのメッセージを取得します。

iCloudバックアップ集約データ型

識別子説明
.photos iCloudバックアップをスキャンしてイメージファイルを探します。
.videos ビデオファイルのiCloudバックアップをスキャンします。
.recordings ファイルを記録するためにiCloudバックアップをスキャンします。
.voicemails ボイスメールファイルのiCloudバックアップをスキャンします。
.app_usage iCloudバックアップをスキャンしてアプリの使用情報を探します。
.installed_apps インストールされているアプリ情報について、iCloudバックアップをスキャンします。
.locations iCloudバックアップから場所をスキャンします。
.linked_watches リンクされているApple Watch情報についてiCloudバックアップをスキャンします。

iCloudフォトライブラリ

写真 icpl.photos

iCloud Photo Libraryサービスに保存されている写真を取得します。

属性説明
ソース icloud.account
設定 Settings > [username] > iCloud > Photos > iCloud Photo Library

CallKit

callkit.calls からの呼び出し callkit.calls

CallKitサービスと同期した通話記録を取得します。

エラー

callkit-uninitialised

このアカウントに対してCallKitサービスがセットアップされていないことを示します。 iCloudアカウントの所有者は、次の手順でiCloudアカウントに関連付けられたiOSデバイスを使用してこのエラーを解決できます。-デバイスがWi-Fiに接続されていることを確認します。 - Settings > [username] > iCloudます。 -iCloudドライブをオフにし、変更が有効になるまで30〜60秒待ちます。 -前の変更が完了したら、iCloudドライブをオンにします。これにより初期化がトリガーされます。

このプロセスを実行してもエラーが解決しない場合は、サポートに連絡してください。

callkit-sync-disabled

この場合、CallKitサービスは初期化されましたが、デバイスが通話履歴をiCloudに同期し始めるために必要な条件が満たされていません。 APIはiCloudを介してリモートでこれを解決しますが、iCloudアカウントに関連付けられているデバイスはこれがキャッシュされているため同期状態を再評価できない可能性があります。

iCloudアカウントの所有者は、次の手順でデバイスをトリガーして、通話履歴の同期条件を再確認できます。

  • Settings > [username] > iCloudます。
  • iCloud Driveをオフにして、変更が有効になるまで30〜60秒待ちます。
  • 前の変更が完了したら、iCloudドライブをオンにします。これにより初期化がトリガーされます。

トラブルシューティング

  • 最近の通話履歴は、投票結果に返されません。

これは通常、デバイスが最新の通話履歴レコードをiCloudと同期していないことが原因です。 CallKitサービスは内部iOSサービスであり、設定でオンまたはオフにしたり、手動で同期させることはできません。これにより、デバイスがiCloudと同期しているかどうかがわからなくなるため、失われたデータをデバッグすることが難しくなります。

この問題は、同期するデータがそれほど多くないアカウント(3回以内の呼び出し)でよく見られますが、これはアカウントのテストでよく見られることです。

推奨事項:

  • デバイスに同期する通話履歴レコードが少数あることを確認してください。私たちのテストでは、通話履歴レコードが数個しかないデバイスはiCloud同期プロセスをトリガーしないことが示されています。
  • デバイスが定期的な同期を実行するのを待ちます。これには、デバイスの使用方法、接続状態、充電状態に応じて、最大12時間かかります。
  • デバイスを電源に接続します。この状態の場合、デバイスは同期をトリガーする可能性が高くなります。

  • ポーリング結果で古い通話履歴が返されません。

CallKitサービスは、デバイス間で通話履歴レコードを同期するためのものであり、これらのレコードを無期限に保存するためのものではありません。通常、通話履歴レコードは約3ヶ月間CallKitから取得できますが、これはiCloudの内部クリーンアッププロセスによってアカウント間で異なる場合があります。

CloudKit

iCloudからのブラウザ履歴 cloudkit_safari.history

iCloud同期サービスに保存されているSafariブラウザの履歴データを取得します。

MobileMe

iCloudからの連絡先 mme_contacts.contacts

iCloudに保存されているiOS連絡先データを取得します。

iCloudのカレンダー mme_calendar.events

iCloudに保存されているiOSカレンダーデータを取得します。

iCloudからのメモ mme_notes.notes

iCloudに保存されているiOS Notesデータを取得します。

私のiPhoneを探す

ロケーション fmip.locations

Find My iPhoneの位置データを取得します。

iOSアプリ

メッセージ ios_messages.messages

iMessageやSMSなどのiOSメッセージデータを取得します。

連絡先 ios_contacts.contacts

iOSの連絡先データを取得します。

電話 ios_phone.calls

iOSの電話データを取得します。

カレンダー ios_calendar.events

iOSカレンダーデータを取得します。

Notes ios_notes.notes

iOS Notesデータを取得します。

健康 ios_health.data

iOS Healthデータを取得します。多くの場合、HealthKitデータと呼ばれます。

サファリ

バックアップからのブラウザ履歴 ios_safari.history

iCloudバックアップからSafariブラウザの履歴データを取得します。

クッキー ios_safari.cookies

iCloudバックアップからSafari Cookieデータを取得します。

WhatsApp

メッセージ whatsapp.messages

WhatsAppメッセージを取得します。

whatsapp.calls 呼び出します whatsapp.calls

WhatsApp通話履歴を取得します。

Viber

メッセージ viber.messages

Viberのメッセージを取得します。

呼び出し viber.calls

Viberの通話履歴を取得します。

会話 viber.conversations

Viberの会話を取得します。

連絡先 viber.contacts

Viberの連絡先を取得します。

キク

メッセージ kik.messages

Kikメッセージを取得します

連絡先 kik.contacts

Kikの連絡先を取得します。

ハイキング

メッセージ hike.messages

ハイキングメッセージを取得します。

投稿 hike.posts

ハイキングの投稿を取得します。

WeChat

メッセージ wechat.messages

WeChatメッセージを取得します。

火口

メッセージ tinder.messages

Tinderメッセージを取得します。

ライン

メッセージ line.messages

行メッセージを取得します。

フェイスブック

メッセージ facebook.messages

Facebookのメッセージを取得します。

Snapchat

メッセージ snapchat.messages

Snapchatメッセージを取得します。

ストーリー snapchat.stories

Snapchatストーリーを取得します。

スカイプ

メッセージ skype.messages

Skypeのメッセージを取得します。

アグリゲーター

写真 .photos

iCloudバックアップからイメージファイルを集約します。

ビデオ .videos

iCloudバックアップからビデオファイルを集約します。

録音 .recordings

iCloudバックアップから記録ファイルを集約します。

ボイスメールの .voicemails

ボイスメールファイルをiCloudバックアップから集約します。

アプリの使用法 .app_usage

iCloudバックアップからアプリ使用情報を集計します。

インストール済みアプリ .installed_apps

iCloudバックアップからインストール済みアプリ情報を集計します。

場所 .locations

iCloudバックアップから位置データを集計します。

リンクされた腕時計 .linked_watches

iCloudバックアップからリンクされたApple Watch情報を集約します。

ファイルタイプ

識別子説明
backupまたはプロトコルなし iCloudバックアップからのファイル。
icpl iCloud Photo Libraryのファイル。

レガシーデータタイプ

iCloudデータ型

従来の名前新しい名前
live_photos icpl.photos
mobileme_contacts mme_contacts.contacts
mobileme_calendar mme_calendar.events
mobileme_notes mme_notes.notes
live_call_history callkit.calls
web_browser_history cloudkit_safari.history
location fmip.locations

バックアップデータの種類

従来の名前新しい名前
photos .photos
videos .videos
recordings .recordings
voicemail .voicemails
app_usage .app_usage
installed_apps .installed_apps
locations .locations
linked_watches .linked_watches
sms ios_messages.messages
contacts ios_contacts.contacts
call_history ios_phone.calls
calendar_appointments ios_calendar.events
notes ios_notes.notes
healthkit ios_health.data
browser_history ios_safari.history
safari_cookies ios_safari.cookies
whatsapp_messages whatsapp.messages
whatsapp_call_history whatsapp.calls
viber_messages viber.messages
viber_call_history viber.calls
viber_conversations viber.conversations
viber_contacts viber.contacts
kik_messages kik.messages
kik_contacts kik.contacts
hike_messages hike.messages
hike_posts hike.posts
wechat_messages wechat.messages
tinder_messages tinder.messages
line_messages line.messages
facebook_messages facebook.messages
snapchat_messages snapchat.messages
snapchat_stories snapchat.stories
skype_messages skype.messages

どのように我々は助けることができます?

サポートチームがお手伝いします!

営業時間は月曜日から金曜日の午前9時から午後5時(GMT)です。 時間は現在 5:15 PM GMTです。

1営業日以内に、お返事を差し上げます。メールアドレスはこちら。

サポートセクションに移動 › エンタープライズチームに連絡する ›
私たちの素晴らしいサポートチーム

© 2008 - 2019 Reincubate Ltd. 無断複写・転載を禁じます。 イングランドとウェールズに登録 #5189175, VAT GB151788978. Reincubate®は登録商標です。 プライバシーと利用規約. マルチファクタ認証をお勧めします。 ロンドンで愛と建てられた。