2016-05-05 20 views
5

Moje pytanie może wyglądać głupio, ale pytam o to po zbyt wielu poszukiwaniach w Google, ale nie mam żadnych wskazówek.pobierz punkty końcowe usługi sieci Web icloud, aby pobrać dane

Używam usług internetowych iCloud. W tym celu przekonwertowałem ten kod Pythona do PHP. https://github.com/picklepete/pyicloud

Do tego wszystko działa dobrze. Po uwierzytelnieniu za pomocą nazwy użytkownika icloud, hasła otrzymuję listę adresów URL usług sieci Web jako część odpowiedzi. Teraz na przykład, aby użyć usługi internetowej Kontakty, muszę użyć adresu URL usługi Kontakt i dodać część do tego adresu URL, aby pobrać kontakty.

https://p45-contactsws.icloud.com:443/co/startup z niektórymi parametrami.

Adres URL serwisu WWW https://p45-contactsws.icloud.com:443 nadchodzi w odpowiedzi podczas uwierzytelniania. Ale późniejsza część, "co/startup" jest tam w kodzie Pythona. Nie wiem, jak znaleźli tę część. Tak więc dla niektórych usług, które są w kodzie Pythona, działają dobrze. Ale chcę użyć kilku innych usług, takich jak https://p45-settingsws.icloud.com:443, https://p45-keyvalueservice.icloud.com:443 itp. I kiedy próbuję wysłać żądanie z poprawnymi parametrami do tych innych usług, otrzymuję błędy takie jak 404 nie znaleziono lub nieautoryzowanego dostępu. Dlatego uważam, że część adresu URL musi być dodana do tego, tak jak kontakty. Jeśli ktoś wie, jak i gdzie mogę uzyskać prawidłową część adresu URL, będę naprawdę wdzięczny.

Dziękuję wszystkim z góry za ich przeczytanie/odebranie mojego pytania.

Odpowiedz

0

Obawiam się, że nie wydaje się oficjalne źródło dla tych punktów końcowych API, ponieważ wydaje się, że zostały wykryte przez wąchania połączeń sieciowych, a nie właściwego przewodnika firmy Apple. Na przykład this presentation, który pochodzi z firmy narzędzi kryminalistycznych, pochodzi z 2013 roku i obejmuje niektóre z istotnych punktów końcowych. Zauważ, że iOS był nadal w wersjach 5 & 6 (w porównaniu z bieżącym v9.3).

Wszystkie pozostałe próbki kodu w sieci używają tego samego zestawu punktów końcowych API, które pierwotnie obserwowano w latach 2012-2013. (Tutaj jest a snippet from another python module z dodatkowymi adresami URL, z których możesz korzystać.) Jednak wszystkie z nich wskazują na siebie jako źródło.

Jeśli chcesz podążać inną ścieżką, Apple promuje teraz rozwiązania CloudKit and CloudKit JS dla zarejestrowanych aplikacji współpracujących z danymi iCloud.

Powiązane problemy