动态 - Web API 在国际 fomat 中按电话号码过滤



我正在使用该 URI 请求与特定电话号码匹配的联系人实体:

/api/data/v8.1/contacts?$filter=telephone1 eq '"+ phoneNumber +"' or telephone2 eq '"+ phoneNumber +"' or telephone3 eq '"+ phoneNumber +"' or mobilephone eq '"+ phoneNumber +"' &$select=contactid,firstname,lastname,emailaddress1,birthdate"

由于电话号码只有数字:0033648000000,因此它可以工作。但是,当我尝试使用国际格式的电话号码执行相同的操作时:+33648000000,即使将3个联系人与指定号码相关联,也不会给我任何结果。不会显示任何错误,就像不存在该号码的联系人一样。一些想法 ?

这与 + 号是 url 中的特殊字符这一事实有关。您需要先对电话号码进行编码,然后再将其附加到 url:

/api/data/v8.1/contacts?$filter=telephone1 eq '"+ encodeURIComponent(phoneNumber) +"' or telephone2 eq '"+ encodeURIComponent(phoneNumber) +"' or telephone3 eq '"+ encodeURIComponent(phoneNumber) +"' or mobilephone eq '"+ encodeURIComponent(phoneNumber) +"' &$select=contactid,firstname,lastname,emailaddress1,birthdate"

最新更新