Obtenga la lista de contactos de iCloud en C #
Después de buscar sobre la API de iCloud, encontré algunos ejemplos en NodeJS y Python, pero desafortunadamente, no estoy familiarizado con ellos. Quiero saber cómo obtener la lista de contactos de iCloud en C #.
Ejemplo en python:https://github.com/mindcollapse/iCloud-API/blob/master/iCloud.py Ejemplo en NodeJS:https://www.snip2code.com/Snippet/65033/Request-Contact-List-From-iCloud
Intento analizar el código de inicio de sesión en 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);
}
}
Recibo 400: Solicitud incorrecta con el código anterior, por favor ayuda a dar la dirección donde estoy equivocado, agradezco tu ayuda si hay un ejemplo de código.
Actualizar:
Ahora podría iniciar sesión y obtener mucha información, incluida la url de mi servidor de contacto, dsid, este es el enlace que utilicé:
https://p12-setup.icloud.com/setup/ws/1/login?clientBuildNumber=1P24&clientId=MyGuid
Después de eso, uso la siguiente URL para obtener la lista de contactos:
https://p35-contactsws.icloud.com es mi servidor de contacto, en realidad eshttps://p35-contactsws.icloud.com:443, pero según el ejemplo al que me refiero, el puerto: 443 debe eliminarse.
Pero sigo teniendo 421: error del cliente