我可以从 iCloud 获取联系人的电子邮件地址吗?

Posted

技术标签:

【中文标题】我可以从 iCloud 获取联系人的电子邮件地址吗?【英文标题】:Can I get the email address of contacts from iCloud? 【发布时间】:2016-04-11 22:11:14 【问题描述】:

我正在构建一个 C# 应用程序,我希望收集用户联系人列表(电子邮件、名字、姓氏)。使用直接登录,我能够提取除电子邮件之外的所有联系人信息。有没有办法让我检索所有联系人及其各自的电子邮件?

public void GetContacts(iCloudContactSortOrder sortOrder = iCloudContactSortOrder.FirstName)
    
        if (!IsConnected)
            throw notConnectedException;

        // Set sort order
        ContactsSortOrder = sortOrder;

        // Create client
        NetClient netClient = new NetClient(sessionCookies, ICLOUD_HOME_URL, ICLOUD_HOME_URL);

        // Post client context data to the servers.
        string strResult = netClient.GET(ContactsMeCardUrl);
        ContactsMeCard = Deserialize<iCloudContactsMeCard>(strResult);

        // get contacts list.
        strResult = netClient.GET(ContactsStartupUrl);
        lastContactsResponse = Deserialize<iCloudContactsContactsResponse>(strResult);
    

【问题讨论】:

您无法访问电子邮件地址可能有一个很好的理由。你能猜出它是什么吗? 我设法访问了它们,您对这个问题的想法是什么?安全?每个人都有权访问自己的数据。 您正在尝试访问...您自己的电子邮件地址? 用户联系邮箱。 【参考方案1】:

显然,缺少电子邮件的原因是我没有正确解析回复。联系人列表中有一个指向电子邮件的列表。

【讨论】:

以上是关于我可以从 iCloud 获取联系人的电子邮件地址吗?的主要内容,如果未能解决你的问题,请参考以下文章

CardDAV 从 iCloud 获取所有联系人

如何从联系人列表中获取电子邮件地址?

从电话联系人中获取姓名、电话号码和电子邮件地址[关闭]

更改 iOS 模拟器 iCloud 帐户

从 iCloud API 获取联系人列表

如何从联系人目录加载地址?