在搜索了 iCloud API 之后,我发现了一些关于 NodeJS 和 Python 的示例,但不幸的是,我对它们并不熟悉。我想知道如何在 C# 上获取 iCloud 联系人列表。
python 示例:https ://github.com/mindcollapse/iCloud-API/blob/master/iCloud.py NodeJS 示例: https ://www.snip2code.com/Snippet/65033/Request-Contact-List-From -iCloud
我尝试将登录代码解析为 C#:
private void iCloudLogin()
{
string guiid = Guid.NewGuid().ToString("N");
//string url = "https://p12-setup.icloud.com/setup/ws/1/login?clientBuildNumber=1P24&clientId=" + guiid;
string url = "https://setup.icloud.com/setup/ws/1/login?clientBuildNumber=1P24&clientId=" + guiid;
using (var client = new WebClient())
{
client.Headers.Set("Origin", "https://www.icloud.com");
client.Headers.Set("Referer", "https://www.icloud.com");
client.Headers.Set("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36");
var values = new NameValueCollection();
values["apple_id"] = appleId;
values["password"] = password;
values["extended_login"] = "false";
var response = client.UploadValues(url, values);
}
}
我收到 400 : Bad request with above code,请帮忙指出我错的方向,如果有代码示例,我很感激你的帮助。
更新:
现在我可以登录并获取许多信息,包括我的联系服务器 url、dsid,这是我使用的链接:
https://p12-setup.icloud.com/setup/ws/1/login?clientBuildNumber=1P24&clientId=MyGuid
之后,我使用以下网址获取联系人列表:
https://p35-contactsws.icloud.com是我的联系人服务器,它实际上是https://p35-contactsws.icloud.com:443,但是根据我参考的示例,端口 :443 需要删除。
但我仍然得到 421:客户端错误