【问题标题】:Microsoft Graph contacts api filter on arrays数组上的 Microsoft Graph 联系人 api 过滤器
【发布时间】:2016-04-18 13:25:39
【问题描述】:

我正在使用 ms graph contacts api 并寻找过滤器选项

是否可以过滤在电子邮件地址或商务电话中至少包含一个元素的联系人?

我已经尝试过类似 $filter=emailAddresses/$count gt 0' 的方法

【问题讨论】:

    标签: office365api microsoft-graph-api


    【解决方案1】:

    $count 仅适用于联系人级别,根据 this document ,电子邮件地址或商务电话尚不支持 $filter。

    作为一种解决方法,您可以使用 c# /javascript 从联系人集合中过滤结果。例如在 c# 中:

    using (var request = new HttpRequestMessage(HttpMethod.Get, "https://graph.microsoft.com/v1.0/me/contacts"))
    {
        request.Headers.Add("Authorization", "Bearer " + token);
        request.Headers.Add("Accept", "application/json;odata.metadata=minimal");
    
        using (var response = client.SendAsync(request).Result)
        {
    
            if (response.StatusCode == HttpStatusCode.OK)
            {
                var model = JsonConvert.DeserializeObject<RootObject>(response.Content.ReadAsStringAsync().Result);
                foreach (var item in model.value)
                {
                    if (item.BusinessPhones.Count>0)
                    {
                        //you could add this contact to a contact list .
                    }
                }
              
    
            }
    
        }
    }
    
    public class RootObject
    {
    
        public List<Value> value { get; set; }
    }
    
    public class Value
    {
        public string id { get; set; }
        public List<object> BusinessPhones { get; set; }
        public List<object> EmailAddresses { get; set; }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      相关资源
      最近更新 更多