让我们说我只有数字和isoCountry例如:
String number = +43720116398;
String isoCountry = "AT";
我在购买前试图确定价格或类型。 我想知道这个号码是LOCAL,MOBILE还是TOLL_FREE。
遗憾的是Lookups客户端在这种情况下不起作用:
public static void main(String[] args) throws TwilioRestException {
LookupsClient client = new LookupsClient(ACCOUNT_SID, AUTH_TOKEN);
PhoneNumber number = client.getPhoneNumber(number , true);
System.out.println(number.getType());
}
它返回不同类型的类型或空值。 如果我能得到进入电话号码的类型/价格也会让我满意。 有什么办法吗?
答案 0 :(得分:1)
在我的情况下,我知道该号码是LOCAL或MOBILE所以我只是检查这个具有LOCAL类型的号码是否存在,如果不是它的MOBILE,你可以轻松添加检查,如果你想要TOLL_FREE或MOBILE。 如果有人在几天内提供更清洁的方式,我很乐意接受他的回答,如果不是我会接受我的。
可运行的例子:
public class Main {
private final static String MOBILE = "MOBILE";
private final static String LOCAL = "LOCAL";
private static TwilioRestClient twilioRestClient = new TwilioRestClient("Key", "key");
public static void main(String[] args) {
String number = "+43720116398";
String isoCountry = "AT";
getMsisdnType(number, isoCountry);
}
public static String getMsisdnType(String msisdn, String isoCountry) {
Map<String, String> params = new HashMap<>();
params.put("Contains", msisdn);
Optional<AvailablePhoneNumber> number = twilioRestClient.getAccount().getAvailablePhoneNumbers(params, isoCountry, LOCAL).getPageData().stream().findAny();
if (number.isPresent()) return LOCAL;
return MOBILE;
}
}