【问题标题】:Get phone number label using Google Contacts API and .Net使用 Google Contacts API 和 .Net 获取电话号码标签
【发布时间】:2014-06-19 22:11:10
【问题描述】:

我正在尝试使用以下代码从 Google 检索带有相应标签的电话号码。

        RequestSettings settings = new RequestSettings("myapp", username, password){
                                                                                           UseSSL = true,
                                                                                           AutoPaging = true,
                                                                                           PageSize = 5000
                                                                                       };
        ContactsRequest c = new ContactsRequest(settings);
        Feed<Contact> feed = c.GetContacts();
        foreach (var entry in feed.Entries)
        {
            foreach (PhoneNumber phoneNumber in entry.Phonenumbers){
                Debug.Write(phoneNumber.Label ?? "Empty"); //Always null!
                Debug.Write(phoneNumber.Value ?? "Empty");//Have value
            }
        }

但是,我在我的 Google 帐户中为电话号码设置了标签,例如“家庭”、“移动”,但这些值没有返回。我在这里遗漏了什么吗?

【问题讨论】:

    标签: c# google-contacts-api google-shared-contacts


    【解决方案1】:

    Contacts API 使用rel 属性作为标准标签:

    自定义标签保存在label属性中,这两个属性互斥为described here

    【讨论】:

    • 您好,感谢您抽出宝贵时间回答。就我而言,我无法获得自定义标签的价值。你有工作代码示例吗?
    • 在您最初的问题中,您说您使用“家庭”和“移动”作为标签,这不被视为自定义标签。您是否也在使用自定义标签?
    • 是的,我为联系人设置了自定义标签,只是将这些词用作错误示例。真正的标签是西班牙语。但正如我所说,Value 属性总是返回 null。关于我的问题中的代码,这是检索自定义联系人标签的正确方法吗?
    • 你似乎做得对。我使用 Google OAuth2 Playground 进行了测试,它正确返回了数据。也许在那里测试请求,看看它是否适用于您的帐户。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-10
    • 2020-09-23
    • 1970-01-01
    • 2015-06-30
    相关资源
    最近更新 更多