Apple iCloud服务

更新

API支持从Apple的iCloud服务中检索各种数据和文件。这包括访问设备iCloud备份数据,查找我的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的帐户将收到choice-requiredchoice-required错误响应,以及链接到帐户的可能设备列表,可以触发这些设备以完成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>",
    "choice": "<choice identifier from choices fields of `choice-required` error>"
  }
}'

该调用将触发要发送到所选设备的代码,然后可以将其用作有效载荷中的以完成会话初始化过程。

会话创建有效负载接受的参数总结在下表中。

名称类型描述
密码 iCloud帐户的密码。
可选,字符串如果iCloud帐户启用了多因素(如2FA),则此参数将是必需的。
选择可选,字符串如果iCloud帐户启用了2SV,则在会话创建过程中将需要此参数。

来源类型

识别码描述
icloud.account primary source对应于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 检索iOS消息数据,包括iMessage和SMS。
ios_contacts.contacts 检索iOS联系人数据。
ios_phone.calls 检索iOS Phone数据。
ios_calendar.events 检索iOS日历数据。
ios_notes.notes 检索iOS Notes数据。
ios_health.data 检索iOS运行状况数据。
ios_safari.history 检索Safari浏览器的历史记录数据。
ios_safari.cookies 检索Safari cookie数据。
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 检索微信消息。
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 扫描iCloud备份以查找链接的Apple Watch信息。

iCloud照片库

照片 icpl.photos

检索存储在iCloud Photo Library服务中的照片。

属性描述
资源 icloud.account
设置 Settings > [username] > iCloud > Photos > iCloud Photo Library

呼叫工具

来自CallKit callkit.calls 调用

检索与CallKit服务同步的呼叫日志。

错误

callkit-uninitialised

表示尚未为此帐户设置CallKit服务。通过以下步骤,iCloud帐户所有者可以使用与iCloud帐户关联的iOS设备来解决此错误:-确保该设备已连接到Wi-Fi。 -导航至Settings > [username] > iCloud 。 -关闭iCloud驱动器,等待30到60秒,以使更改生效。 -之前的更改完成后,请打开iCloud Drive。这应该触发初始化。

如果执行此过程后错误仍然存在,请与支持部门联系。

callkit-sync-disabled

在这种情况下,CallKit服务已初始化,但设备开始将呼叫历史同步到iCloud所需的条件尚未满足。 API将通过iCloud远程解决此问题,但与iCloud帐户关联的设备可能无法重新评估其同步状态,因为这是缓存的。

iCloud帐户所有者可以通过以下步骤触发设备以重新检查通话记录同步条件:

  • 导航到Settings > [username] > iCloud
  • 关闭iCloud驱动器,等待30到60秒,以使更改生效。
  • 之前的更改完成后,请打开iCloud Drive。这应该触发初始化。

故障排除

  • 最近的通话记录未在投票结果中返回。

这通常是由于设备没有与iCloud同步其最新的呼叫历史记录。 CallKit服务是内部iOS服务,无法在设置中打开或关闭或触发手动同步。这可能使调试缺失数据变得困难,因为它不清楚设备有什么或没有同步到iCloud。

对于没有太多数据要同步的帐户(少于~3次调用),这个问题更常见,这通常是测试帐户的情况。

建议:

  • 确保设备具有多个要同步的通话记录记录。我们的测试表明,只有几个通话记录的设备不会触发iCloud同步过程。
  • 等待设备执行定期同步。最多可能需要12个小时,具体取决于设备的使用方式,连接状态和充电状态。
  • 将设备插入电源。在这种状态下,设备更有可能触发同步。

  • 以前的通话记录不会在民意调查结果中返回。

CallKit服务用于在设备之间同步呼叫历史记录,而不是无限期地存储这些记录。通常,呼叫历史记录可以从CallKit中检索大约3个月,但根据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

检索“查找我的iPhone”位置数据。

iOS应用

消息 ios_messages.messages

检索iOS消息数据,包括iMessage和SMS。

联系人 ios_contacts.contacts

检索iOS联系人数据。

电话 ios_phone.calls

检索iOS Phone数据。

日历 ios_calendar.events

检索iOS日历数据。

注释 ios_notes.notes

检索iOS Notes数据。

健康 ios_health.data

检索iOS运行状况数据。通常称为HealthKit数据。

苹果浏览器

备份 ios_safari.history 浏览器历史记录

从iCloud备份中检索Safari浏览器历史记录数据。

Cookies ios_safari.cookies

从iCloud备份中检索Safari cookie数据。

WhatsApp的

消息 whatsapp.messages

检索WhatsApp消息。

打电话给 whatsapp.calls

检索WhatsApp通话记录。

维伯

消息 viber.messages

检索Viber消息。

调用 viber.calls

检索Viber呼叫历史记录。

对话 viber.conversations

检索Viber对话。

联系人 viber.contacts

检索Viber联系人。

ik

消息 kik.messages

检索Kik消息。

联系方式 kik.contacts

检索Kik联系人。

远足

消息 hike.messages

检索远足消息。

帖子 hike.posts

检索远足帖子。

微信

消息 wechat.messages

检索微信消息。

火种

消息 tinder.messages

检索Tinder消息。

线

消息 line.messages

检索线路消息。

脸书

消息 facebook.messages

检索Facebook消息。

Snapchat

消息 snapchat.messages

检索Snapchat消息。

故事 snapchat.stories

检索Snapchat故事。

Skype的

消息 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照片库的文件。

旧版数据类型

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点。 时间目前是 7:04 AM的 GMT。

我们力争在一个工作日内答复所有垂询。

转到支持部分 › 联系企业团队 ›
我们的支持团队非常棒

© 2008 - 2019 Reincubate Ltd. 保留所有权利。 在英格兰和威尔士注册 #5189175, VAT GB151788978. Reincubate®是注册商标。 隐私权和条款. 我们推荐多因素认证。 在伦敦建立了爱情。