我的问题可能看起来很愚蠢,但我在谷歌搜索过多后问这个问题,但没有任何线索。
我正在使用iCloud网络服务。为此,我已将此Python代码转换为PHP。 https://github.com/picklepete/pyicloud
到此为止,一切都运转良好。使用icloud用户名进行身份验证时,我会获得一个Web服务URL列表作为响应的一部分。现在,例如,使用联系人Web服务,我需要使用联系人Web服务URL并向该URL添加一部分以获取联系人。
带有一些参数的https://p45-contactsws.icloud.com:443/co/startup。
网络服务网址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部分,我将非常感激。
感谢所有人提前阅读/回答我的问题。
答案 0 :(得分:0)
我担心这些API端点似乎不是官方来源,因为它们似乎是通过嗅探网络呼叫而不是Apple的正确指南来发现的。例如,来自法医工具公司的this presentation是从2013年开始的,涵盖了一些相关的终端。请注意,iOS仍处于版本5和版本5 6然后(相对于当前的v9.3)。
网上的所有其他代码示例基本上都使用了最初在2012 - 2013年观察到的同一组API端点。 (此处有a snippet from another python module,您可以使用其他网址。)但是,所有这些网址都是相互指向的。
如果您想采用不同的途径,Apple现在会推出使用iCloud数据的注册应用的CloudKit and CloudKit JS解决方案。