java - 使用 Twilio SDK 将电话号码 "+2125551212"转换为格式 "(212) 555-1212"

标签 java sms twilio

我有一个电话号码,以 +12125551212 格式存储为字符串 String。使用 Twilio SDK(如果可能),我想将该电话号码转换为更友好的格式 (212) 555-1212 的字符串。

以下是使用 com.google.i18n.phonenumbers 实现此操作的方法

String phoneNumber = "+12125551212";
try {
  Phonenumber.PhoneNumber parsedPhoneNumber = phoneUtil.parse(phoneNumber, "US");
  phoneNumber = phoneUtil.format(parsedPhoneNumber, PhoneNumberUtil.PhoneNumberFormat.NATIONAL);
} catch (NumberParseException e) {
  logger.error("Error parsing phone number {}", phoneNumber);
}

Twilio SDK 中有类似的东西吗?

(我希望得到一个非正则表达式、非字符串操作 Twilio 特定的答案,如果存在的话。)

最佳答案

这里是 Twilio 开发者布道者。

您可以使用Twilio's Lookup API来做到这一点以及更多。 。您将找到 API 文档 here .

以下是如何使用 API 设置电话号码格式的完整工作示例。

import java.util.HashMap;
import java.util.Map;

import com.twilio.Twilio;
import com.twilio.rest.lookups.v1.PhoneNumber;

public class Lookup {
  // Find your Account Sid and Token at twilio.com/user/account
  public static final String ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
  public static final String AUTH_TOKEN = "your_auth_token";

  public static void main(String[] args) {
    Twilio.init(ACCOUNT_SID, AUTH_TOKEN);

    PhoneNumber number = PhoneNumber
        .fetcher(new com.twilio.type.PhoneNumber("+15108675309"))
        .setType("carrier")
        .fetch();

    System.out.println(number.getNationalFormat());
  }
}

希望这对您有帮助!

关于java - 使用 Twilio SDK 将电话号码 "+2125551212"转换为格式 "(212) 555-1212",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41578868/

相关文章:

通过客户端 stub 访问 WSDL 时发生 Java InaccessibleWSDLException

windows-mobile - 在 Windows Mobile 6 中发送和接收(拦截)短信

android - 如何在android中关闭手机时发送短信?

sms - Twilio 错误 : "12200 Schema validation warning Description Invalid content was found starting with element ' Message'. '{Play"之一

javascript - twilio video 的群组房间和点对点房间有什么区别?

java - JPA @ManyToOne,附加条件

java - 如何使用 Marvin java 库(或任何其他免费库)附加 2 个大图像?

Android volley proguard 抛出 java.lang.RuntimeException : Stub

java - 如何重新加载 JFrame - Java

javascript - 获取房间内的用户数量