Service Apple iCloud

Mis à jour

L'API prend en charge la récupération d'une variété de données et de fichiers à partir des services iCloud d'Apple. Cela inclut l'accès aux données de sauvegarde du périphérique iCloud, aux données de la recherche de mon iPhone et à un certain nombre de sources de données CloudKit en temps quasi réel.

Sessions

La configuration d'une session pour les services iCloud sur l'API est aussi simple que la connexion à un compte iCloud. Le processus peut nécessiter plusieurs tentatives de création de session si le compte a activé l'authentification multi-facteurs, telle que 2FA ou 2SV.

Le premier appel pour créer une session se présente comme ci-dessous.

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>"
  }
}'

Pour les comptes activés non-2FA / non-2SV, cela sera suffisant pour établir une session active, à condition que les informations d'identification fournies soient valides.

Cependant, un compte avec 2FA activé recevra une réponse d'erreur code-required code et le processus 2FA sera déclenché sur les périphériques liés au compte qui leur enverra un code 2FA. Ce code doit être fourni à l'API lors du prochain appel de création de session.

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>"
  }
}'

Enfin, un compte sur lequel 2SV est activé recevra une réponse d'erreur au choice-required , ainsi qu'une liste des périphériques liés au compte pouvant être déclenchés pour terminer le processus 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>"
  }
}'

Cet appel déclenche l'envoi d'un code sur le périphérique choisi, qui peut ensuite être utilisé comme dans la charge utile pour terminer le processus d'initialisation de session.

Les paramètres acceptés par la charge de création de session sont résumés dans le tableau ci-dessous.

prénom type la description
mot de passe chaîne Le mot de passe du compte iCloud.
code facultatif, chaîne Si le multi-facteur du compte iCloud (comme 2FA) est activé, ce paramètre sera requis.
choix facultatif, chaîne Si 2SV est activé sur le compte iCloud, ce paramètre sera requis lors du processus de création de la session.

Types de source

identifiant la description
icloud.account source primaire Correspond à un compte iCloud.
icloud.backup La sauvegarde iCloud d'un appareil iOS.

Les sondages

Le service iCloud prend en charge tous les attributs du schéma de charge utile d'interrogation.

Récupération des informations sur la source

Ce type d'interrogation récupère des informations sur la source ciblée. Les résultats sont publiés au format JSON.

Par exemple, une icloud.account source icloud.account renverra les détails du compte, la liste des sauvegardes iCloud (sources enfants icloud.backup ) et d'autres métadonnées.

Utiliser 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": ["*"]
  }
}'

Utiliser * 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": ["*"]
  }
)

Récupération des données

Ce type d'interrogation récupère et traite les données de la session ciblée. Les résultats sont publiés au format JSON.

Consultez la liste des types de données disponibles pour plus d'informations sur des types de données spécifiques.

Utiliser 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"]
    }
}'

Utiliser * 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,
)

Récupérer des fichiers

L'attribut files poll payload spécifie la récupération des fichiers binaires à partir d'une sauvegarde. Les ID sont généralement récupérés à partir d'une interrogation précédente pour les types de données qui incluent des références de fichier directes, telles que des photos, ou qui incluent des pièces jointes, telles que des types de données de message.

Utiliser 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"
        ]
    }
}'

Utiliser * 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,
)

Types de données

Types de données iCloud

identifiant la description
icpl.photos Récupère les fichiers iCloud Photo Library.
mme_contacts.contacts Récupère les données de contacts iOS stockées dans iCloud.
mme_calendar.events Récupère les données de calendrier iOS stockées dans iCloud.
mme_notes.notes Récupère les données iOS Notes stockées dans iCloud.
callkit.calls Récupère les données du téléphone iOS synchronisées par CallKit.
cloudkit_safari.history Récupérez les données d'historique du navigateur Safari stockées dans iCloud.
fmip.locations Récupérer les données de localisation de la localisation de mon iPhone.

Types de données de l'application de sauvegarde iCloud

identifiant la description
ios_messages.messages Récupère les données de messages iOS, y compris iMessage et SMS.
ios_contacts.contacts Récupère les données de contacts iOS.
ios_phone.calls Récupère les données du téléphone iOS.
ios_calendar.events Récupère les données du calendrier iOS.
ios_notes.notes Récupère les données iOS Notes.
ios_health.data Récupère les données de santé iOS.
ios_safari.history Récupère les données d'historique du navigateur Safari.
ios_safari.cookies Récupère les données des cookies Safari.
whatsapp.messages Récupère les messages WhatsApp.
whatsapp.calls Récupère l'historique des appels WhatsApp.
viber.messages Récupère les messages Viber.
viber.calls Récupère l'historique des appels Viber.
viber.conversations Récupère les conversations Viber.
viber.contacts Récupère les contacts Viber.
kik.messages Récupère les messages Kik.
kik.contacts Récupère les contacts Kik.
hike.messages Récupère les messages de randonnée.
hike.posts Récupère les messages de randonnée.
wechat.messages Récupère les messages WeChat.
tinder.messages Récupère les messages Tinder.
line.messages Récupère les messages en ligne.
facebook.messages Récupère les messages Facebook.
snapchat.messages Récupère les messages Snapchat.
snapchat.stories Récupère les histoires de Snapchat.
skype.messages Récupère les messages Skype.

Types de données agrégés de sauvegarde iCloud

identifiant la description
.photos Analyse une sauvegarde iCloud pour les fichiers image.
.videos Analyse une sauvegarde iCloud pour les fichiers vidéo.
.recordings Analyse une sauvegarde iCloud pour l’enregistrement de fichiers.
.voicemails Analyse une sauvegarde iCloud pour les fichiers de messagerie vocale.
.app_usage Analyse une sauvegarde iCloud pour les informations d'utilisation de l'application.
.installed_apps Analyse une sauvegarde iCloud pour les informations sur les applications installées.
.locations Analyse une sauvegarde iCloud pour les emplacements.
.linked_watches Analyse une sauvegarde iCloud pour rechercher des informations Apple Watch liées.

Photothèque iCloud

Photos icpl.photos

Récupère les photos stockées dans le service iCloud Photo Library.

attribut la description
La source icloud.account
Réglage Settings > [username] > iCloud > Photos > iCloud Photo Library

CallKit

Appels de CallKit callkit.calls

Récupère les journaux d'appels synchronisés avec le service CallKit.

les erreurs

callkit-uninitialised

Indique que le service CallKit n'a pas été configuré pour ce compte. Le propriétaire du compte iCloud peut résoudre cette erreur à l'aide d'un périphérique iOS associé au compte iCloud en procédant comme suit: - Assurez-vous que le périphérique est connecté au Wi-Fi. - Accédez à Settings > [username] > iCloud . - Mettez iCloud Drive hors tension en attendant 30 à 60 secondes pour que le changement prenne effet. - Allumez iCloud Drive une fois la modification précédente terminée. Cela devrait déclencher l'initialisation.

Si l'erreur persiste après l'exécution de ce processus, veuillez contacter le support.

callkit-sync-disabled

Dans ce cas, le service CallKit a été initialisé, mais les conditions nécessaires pour que les appareils commencent à synchroniser l'historique des appels sur iCloud ne sont pas remplies. L'API résoudra ce problème à distance via iCloud, mais le périphérique associé au compte iCloud peut ne pas réévaluer son état de synchronisation car celui-ci est mis en cache.

Le propriétaire du compte iCloud peut demander à un appareil de revérifier les conditions de synchronisation de l'historique des appels en procédant comme suit:

  • Accédez à Settings > [username] > iCloud .
  • Mettez iCloud Drive hors tension en attendant 30 à 60 secondes pour que la modification soit prise en compte.
  • Allumez iCloud Drive une fois la dernière modification effectuée. Cela devrait déclencher l'initialisation.

Dépannage

  • L'historique des appels récents n'est pas renvoyé dans les résultats du sondage.

Cela est généralement dû au fait que l'appareil n'a pas synchronisé ses derniers enregistrements d'historique d'appels avec iCloud. Le service CallKit est un service iOS interne et ne peut pas être activé ou désactivé dans les paramètres ni déclencher la synchronisation manuelle. Cela peut rendre difficile le débogage des données manquantes car il est difficile de savoir ce que le périphérique a synchronisé ou non avec iCloud.

Ce problème est plus courant pour les comptes qui n'ont pas beaucoup de données à synchroniser (moins de ~ 3 appels), ce qui peut souvent être le cas pour les comptes de test.

Recommandations:

  • Assurez-vous que l'appareil dispose de plus d'une poignée d'enregistrements d'historique d'appels à synchroniser. Nos tests ont montré qu'un appareil avec seulement quelques enregistrements d'historique d'appels ne déclenchera pas le processus de synchronisation iCloud.
  • Attendez que le périphérique effectue une synchronisation périodique. Cela peut prendre jusqu'à 12 heures en fonction de l'utilisation du périphérique, de son état de connectivité et de son état de charge.
  • Branchez l'appareil au pouvoir. Le périphérique est plus susceptible de déclencher une synchronisation dans cet état.

  • L’ancien historique des appels n’est pas renvoyé dans les résultats du sondage.

Le service CallKit est conçu pour synchroniser les enregistrements de l'historique des appels entre les périphériques et non pour stocker ces enregistrements indéfiniment. En règle générale, les enregistrements de l'historique des appels peuvent être récupérés depuis CallKit pendant environ 3 mois, mais cela peut varier d'un compte à l'autre en fonction des processus de nettoyage internes dans iCloud.

CloudKit

Historique du navigateur de iCloud cloudkit_safari.history

Récupérez les données d'historique du navigateur Safari stockées dans le service de synchronisation iCloud.

MobileMe

Contacts de iCloud mme_contacts.contacts

Récupère les données de contacts iOS stockées dans iCloud.

Calendrier de iCloud mme_calendar.events

Récupère les données de calendrier iOS stockées dans iCloud.

Notes de iCloud mme_notes.notes

Récupère les données iOS Notes stockées dans iCloud.

Trouve mon iphone

Emplacements fmip.locations

Récupérer les données de localisation Trouver mon iPhone.

Applications iOS

Messages ios_messages.messages

Récupère les données de messages iOS, y compris iMessage et SMS.

Contacts ios_contacts.contacts

Récupère les données de contacts iOS.

Téléphone ios_phone.calls

Récupère les données du téléphone iOS.

Calendrier ios_calendar.events

Récupère les données du calendrier iOS.

Notes ios_notes.notes

Récupère les données iOS Notes.

Santé ios_health.data

Récupère les données de santé iOS. Souvent appelé données HealthKit.

Safari

Historique du navigateur des sauvegardes ios_safari.history

Récupère les données d'historique du navigateur Safari à partir d'une sauvegarde iCloud.

Cookies ios_safari.cookies

Récupère les données des cookies Safari à partir d'une sauvegarde iCloud.

WhatsApp

Messages whatsapp.messages

Récupère les messages WhatsApp.

Appels whatsapp.calls

Récupère l'historique des appels WhatsApp.

Viber

Messages viber.messages

Récupère les messages Viber.

Appelle viber.calls

Récupère l'historique des appels Viber.

Conversations viber.conversations

Récupère les conversations Viber.

Contacts viber.contacts

Récupère les contacts Viber.

Kik

Messages kik.messages

Récupère les messages Kik.

Contacts kik.contacts

Récupère les contacts Kik.

Une randonnée

Messages hike.messages

Récupère les messages de randonnée.

Messages de hike.posts

Récupère les messages de randonnée.

WeChat

Messages wechat.messages

Récupère les messages WeChat.

tinder

Messages tinder.messages

Récupère les messages Tinder.

Ligne

Messages line.messages

Récupère les messages en ligne.

Facebook

Messages facebook.messages

Récupère les messages Facebook.

Snapchat

Messages snapchat.messages

Récupère les messages Snapchat.

histoires snapchat.stories

Récupère les histoires de Snapchat.

Skype

Messages skype.messages

Récupère les messages Skype.

Agrégateurs

Photos .photos

Agrège les fichiers image d'une sauvegarde iCloud.

Vidéos .videos

Agrège les fichiers vidéo à partir d'une sauvegarde iCloud.

Enregistrements .recordings

Agrège les fichiers d'enregistrement à partir d'une sauvegarde iCloud.

Voicemails .voicemails

Agrège les fichiers de messagerie vocale à partir d'une sauvegarde iCloud.

Utilisation de l'application .app_usage

Agrège les informations d'utilisation de l'application à partir d'une sauvegarde iCloud.

Applications installées .installed_apps

Agrège les informations sur les applications installées à partir d'une sauvegarde iCloud.

Emplacements .locations

Agrège les données d'emplacement d'une sauvegarde iCloud.

Montres liées .linked_watches

Agrège les informations Apple Watch liées à partir d'une sauvegarde iCloud.

Types de fichier

identifiant la description
backup ou pas de protocole Un fichier d'une sauvegarde iCloud.
icpl Un fichier de la photothèque iCloud.

Types de données hérités

Types de données iCloud

nom d'héritage nouveau nom
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

Types de données de sauvegarde

nom d'héritage nouveau nom
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

Comment pouvons nous aider?

Notre équipe de support est là pour vous aider!

Nos bureaux sont ouverts du lundi au vendredi, de 9 h à 17 h GMT. L’heure est actuellement 9:05 Après-midi GMT.

Notre objectif est de répondre à tous les messages en un jour ouvrable.

Aller à la section support › Contacter l'équipe de l'entreprise ›
Notre superbe équipe de support

© 2008 - 2019 Reincubate Ltd. Tous droits réservés. Enregistré en Angleterre et au Pays de Galles #5189175, VAT GB151788978. Reincubate® est une marque déposée. Confidentialité et modalités. Nous recommandons l'authentification multi-facteurs. Construit avec à Londres.