2016-05-05 8 views
5

Meine Frage kann albern aussehen, aber ich frage dies nach zu viel Suche bei Google, noch keine Ahnung haben.bekommen icloud Web-Service-Endpunkte, um Daten zu holen

Ich verwende iCloud Webdienste. Dafür habe ich diesen Python-Code in PHP konvertiert. https://github.com/picklepete/pyicloud

Bis dahin funktioniert alles gut. Bei der Authentifizierung mit icloud Benutzername, Passwort Ich erhalte eine Liste von Web-Service-URLs als Teil der Antwort. Um zum Beispiel den Webdienst Contacts zu verwenden, muss ich die URL des Contact-Webdiensts verwenden und dieser URL einen Teil hinzufügen, um Kontakte abzurufen.

https://p45-contactsws.icloud.com:443/co/startup mit einigen Parametern.

Die Webserver-URL https://p45-contactsws.icloud.com:443 kommt als Antwort während der Authentifizierung. Aber der spätere Teil, 'co/startup' ist da im Python-Code. Ich weiß nicht, wie sie diesen Teil gefunden haben. Für einige Dienste, die im Python-Code vorhanden sind, funktionieren sie gut. Aber ich möchte einige andere Dienste wie https://p45-settingsws.icloud.com:443, https://p45-keyvalueservice.icloud.com:443 usw. verwenden und wenn ich versuche, Anfrage mit korrekten Parametern zu diesen anderen Diensten zu senden, bekomme ich Fehler wie 404 nicht gefunden oder unbefugten Zugriff. Also glaube ich, dass einige URL-Teile wie Kontakte hinzugefügt werden müssen. Wenn jemand weiß, wie oder wo ich den richtigen URL-Teil bekomme, werde ich wirklich dankbar sein.

Vielen Dank an alle im Voraus für ihre Zeit lesen/beantworten meine Frage.

Antwort

0

Ich fürchte, es scheint keine offizielle Quelle für diese API-Endpunkte zu sein, da sie eher durch Schnüffeln der Netzwerkanrufe als durch einen richtigen Leitfaden von Apple entdeckt werden. Beispiel: this presentation, das von einem forensischen Werkzeughersteller stammt, stammt aus dem Jahr 2013 und deckt einige der relevanten Endpunkte ab. Beachten Sie, dass iOS immer noch auf Versionen 5 & 6 dann (vs. die aktuelle Version 9.3).

Alle anderen Codebeispiele im Netz verwenden im Grunde dieselben API-Endpunkte, die ursprünglich 2012-2013 beobachtet wurden. (Hier finden Sie a snippet from another python module mit zusätzlichen URLs, die Sie verwenden können.) Alle verweisen jedoch ziemlich genau aufeinander als Quelle.

Wenn Sie einen anderen Weg gehen möchten, fördert Apple jetzt die CloudKit and CloudKit JS Lösungen für registrierte Apps, die mit iCloud-Daten arbeiten.

Verwandte Themen