Сервис Apple iCloud

обновленный

API поддерживает извлечение различных данных и файлов из сервисов Apple iCloud. Это включает в себя доступ к данным резервного копирования устройства iCloud, данным Find My iPhone и нескольким источникам данных CloudKit, близким к реальности.

сессии

Настроить сеанс для служб iCloud в API так же просто, как войти в учетную запись 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 / non-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-required для choice-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 первоисточник Соответствует учетной записи iCloud.
icloud.backup Резервное копирование iCloud устройства iOS.

Опросы

Служба 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 опроса files указывает получение двоичных файлов из резервной копии. Идентификаторы обычно извлекаются из предыдущего опроса для типов данных, которые включают прямые ссылки на файлы, такие как фотографии, или которые включают вложения, такие как типы данных сообщений.

Использование 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.
cloudkit_safari.history Получите iCloud сохраненные данные истории браузера Safari.
fmip.locations Получить данные о местонахождении «Найти iPhone».

Типы данных приложения резервного копирования iCloud

идентификатор описание
ios_messages.messages Получает данные сообщений iOS, включая iMessage и SMS.
ios_contacts.contacts Получает данные контактов iOS.
ios_phone.calls Получает данные телефона iOS.
ios_calendar.events Получает данные календаря iOS.
ios_notes.notes Получает данные iOS Notes.
ios_health.data Получает данные о состоянии iOS.
ios_safari.history Получает данные истории браузера Safari.
ios_safari.cookies Получает данные cookie 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 Сканирует резервную копию iCloud на предмет связанной информации Apple Watch.

Библиотека фотографий iCloud

Фотографий icpl.photos

Получает фотографии, хранящиеся в службе библиотеки фотографий iCloud

атрибут описание
Источник icloud.account
настройка Settings > [username] > iCloud > Photos > iCloud Photo Library

CallKit

Звонки из CallKit callkit.calls

Извлекает журналы вызовов, синхронизированные со службой CallKit.

ошибки

callkit-uninitialised

Указывает, что служба CallKit не была настроена для этой учетной записи. Владелец учетной записи iCloud может устранить эту ошибку с помощью устройства iOS, связанного с учетной записью iCloud, с помощью следующих шагов: - Убедитесь, что устройство подключено к Wi-Fi. - Перейдите в « Settings > [username] > iCloud . - Отключите iCloud Drive, подождите от 30 до 60 секунд, чтобы изменения вступили в силу. - Включите iCloud Drive после завершения предыдущего изменения. Это должно вызвать инициализацию.

Если ошибка не устранена после выполнения этого процесса, обратитесь в службу поддержки.

callkit-sync-disabled

В этом случае служба CallKit была инициализирована, но не были выполнены условия, необходимые для устройств, чтобы начать синхронизацию истории вызовов с iCloud. API будет разрешать это удаленно через iCloud, но устройство, связанное с учетной записью iCloud, может не переоценивать свое состояние синхронизации, так как оно кэшируется.

Владелец учетной записи iCloud может запустить устройство для повторной проверки условий синхронизации истории вызовов, выполнив следующие действия:

  • Перейдите в Settings > [username] > iCloud .
  • Выключите iCloud Drive, подождите от 30 до 60 секунд, чтобы изменения вступили в силу.
  • Включите iCloud Drive после завершения предыдущего изменения. Это должно вызвать инициализацию.

Поиск проблемы

  • История недавних звонков не возвращается в результатах опроса.

Обычно это вызвано тем, что устройство не синхронизировало свои последние записи истории вызовов с iCloud. Служба CallKit является внутренней службой iOS и не может быть включена или выключена в настройках или запущена для синхронизации вручную. Это может затруднить отладку отсутствующих данных, поскольку неясно, что устройство имеет или не синхронизировало с iCloud.

Эта проблема чаще встречается у учетных записей, которые не имеют большого количества данных для синхронизации (менее ~ 3 вызовов), что часто может быть в случае тестирования учетных записей.

Рекомендации:

  • Убедитесь, что устройство имеет больше, чем несколько записей истории вызовов для синхронизации. Наши тесты показали, что устройство с парой записей истории вызовов не будет запускать процесс синхронизации iCloud.
  • Подождите, пока устройство выполнит периодическую синхронизацию. Это может занять до 12 часов в зависимости от того, как используется устройство, его состояния подключения и состояния зарядки.
  • Подключите устройство к сети. В этом состоянии устройство с большей вероятностью инициирует синхронизацию.

  • Старая история звонков не возвращается в результатах опроса.

Служба CallKit предназначена для синхронизации записей истории вызовов между устройствами, а не для хранения этих записей в течение неопределенного времени. Как правило, записи истории вызовов могут быть извлечены из CallKit в течение приблизительно 3 месяцев, но это может варьироваться между учетными записями в зависимости от внутренних процессов очистки в iCloud.

CloudKit

История браузера из iCloud cloudkit_safari.history

Получить данные истории браузера Safari, хранящиеся в службе синхронизации iCloud

MobileMe

Контакты от iCloud mme_contacts.contacts

Извлекает iCloud сохраненные данные контактов iOS.

Календарь от iCloud mme_calendar.events

Извлекает iCloud сохраненные данные календаря iOS.

Заметки от iCloud mme_notes.notes

Получает iCloud сохраненные данные iOS Notes.

Найди мой айфон

Локации fmip.locations

Получить данные о местонахождении Find My iPhone.

iOS-приложения

Сообщения ios_messages.messages

Получает данные сообщений iOS, включая iMessage и SMS.

Контакты ios_contacts.contacts

Получает данные контактов iOS.

Телефон ios_phone.calls

Получает данные телефона iOS.

Календарь ios_calendar.events

Получает данные календаря iOS.

Примечания ios_notes.notes

Получает данные iOS Notes.

Здоровье ios_health.data

Получает данные о состоянии iOS. Часто упоминается как данные HealthKit.

Сафари

История браузера из резервных копий ios_safari.history

Получает данные истории браузера Safari из резервной копии iCloud.

Cookies ios_safari.cookies

Извлекает данные cookie Safari из резервной копии iCloud.

WhatsApp

Сообщения whatsapp.messages

Получает сообщения WhatsApp.

Звонки 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

Сообщения tinder.messages

Получает сообщения Tinder.

Линия

Сообщения line.messages

Получает сообщения линии.

facebook

Сообщения facebook.messages

Получает сообщения Facebook.

Snapchat

Сообщения snapchat.messages

Получает сообщения Snapchat.

Истории snapchat.stories

Получает истории Snapchat.

Skype

Сообщения skype.messages

Получает сообщения Skype.

Накопители

Фотографии .photos

Агрегирует файлы изображений из резервной копии iCloud.

Видео .videos

Агрегирует видеофайлы из резервной копии iCloud.

Записи. .recordings

Агрегирует записи файлов из резервной копии iCloud.

.voicemails почта .voicemails

Агрегирует файлы голосовой почты из резервной копии iCloud.

Использование приложения .app_usage

Агрегирует информацию об использовании приложения из резервной копии iCloud.

Установленные приложения .installed_apps

Агрегирует информацию об установленном приложении из резервной копии iCloud.

Местоположение .locations

Объединяет данные о местоположении из резервной копии iCloud.

Связанные часы .linked_watches

Агрегирует связанную информацию Apple Watch из резервной копии iCloud.

Типы файлов

идентификатор описание
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:00 до 17:00 по Гринвичу. Время в настоящее время 3:25 ПП с GMT.

Мы стремимся отвечать на все сообщения в течение одного рабочего дня.

Перейти в раздел поддержки › Связаться с командой предприятия ›
Наша отличная команда поддержки

© 2008 - 2019 Reincubate Ltd. Все права защищены. Зарегистрировано в Англии и Уэльсе #5189175, VAT GB151788978. Reincubate® является зарегистрированным товарным знаком. Защита & Условия. Мы рекомендуем 2FA. Построен с в Лондоне.