получить конечные точки веб-службы icloud для получения данных

Мой вопрос может показаться глупым, но я задаю его после долгих поисков в Google, но понятия не имею.

Я использую веб-сервисы iCloud. Для этого я преобразовал этот код Python в PHP. https://github.com/picklepete/pyicloud

До этого все работает хорошо. При аутентификации с использованием имени пользователя icloud и пароля я получаю список URL-адресов веб-служб как часть ответа. Теперь, например, чтобы использовать веб-службу контактов, мне нужно использовать URL-адрес веб-службы контактов и добавить часть к этому URL-адресу для получения контактов.

https://p45-contactsws.icloud.com:443/co/startup с некоторыми параметрами.

URL-адрес веб-службы https://p45-contactsws.icloud.com:443 приходит в ответ при аутентификации. Но более поздняя часть, «co/startup», есть в коде Python. Я не знаю, как они нашли эту часть. Так что для некоторых сервисов, которые есть в коде Python, они работают хорошо. Но я хочу использовать несколько других сервисов, таких как https://p45-settingsws.icloud.com:443, https://p45-keyvalueservice.icloud.com:443 и т. д., и когда я пытаюсь отправить запрос с правильными параметрами в эти другие службы , я получаю такие ошибки, как 404 не найден или несанкционированный доступ. Поэтому я считаю, что некоторая часть URL должна быть добавлена ​​​​к этому, как и контакты. Если кто-то знает, как или где я могу получить правильную часть URL, я буду очень благодарен.

Заранее всем спасибо за то, что уделили время чтению/ответу на мой вопрос.


person Rushabh Dave    schedule 05.05.2016    source источник


Ответы (1)


Боюсь, что официального источника для этих конечных точек API не существует, поскольку они, похоже, обнаруживаются путем прослушивания сетевых вызовов, а не надлежащего руководства от Apple. Например, эта презентация, подготовленная компанией, занимающейся инструментами для криминалистики, датирована 2013 годом и охватывает некоторые из соответствующих конечных точек. Обратите внимание, что тогда iOS все еще была в версиях 5 и 6 (по сравнению с текущей версией 9.3).

Все остальные образцы кода в сети в основном используют тот же набор конечных точек API, которые изначально наблюдались в 2012–2013 годах. (Вот фрагмент из другого модуля Python с дополнительными URL-адресами, которые вы можете использовать.) Однако все они в значительной степени указывают друг на друга как на источник.

Если вы хотите пойти другим путем, Apple предлагает решения CloudKit и CloudKit JS для зарегистрированных пользователей. приложения, работающие с данными iCloud.

person Cahit    schedule 10.05.2016