0

メッセージの SID さえ返さないこのクラスについて助けが必要です。私のアプリケーションは 24 時間年中無休で実行されることを意図しており、最初の開始時にメッセージを送信しますが、すぐにメッセージの送信に失敗します。メッセージが送信されるたびに TwilioRestClient オブジェクトを再作成する必要がありますか?

public class Twilio {

public static final String ACCOUNT_SID = "VALID SID";
public static final String ACCOUNT_AUTH = "VALID AUTH";

private static Twilio instance;

public static Twilio getInstance() {
    return instance == null ? (instance = new Twilio()) : instance;
}

private TwilioRestClient client;
private SmsFactory smsFactory;

private Map<String, String> defaultProps = new HashMap<>();

public Twilio() {
    defaultProps.put("From", "VALID TWILIO NUMBER");
    client = new TwilioRestClient(ACCOUNT_SID, ACCOUNT_AUTH);
}

public SmsFactory getSMSFactory() {
    return smsFactory == null ? (smsFactory = client.getAccount().getSmsFactory()) : smsFactory;
}

private Sms buildSMS(String recipient, String body) {
    Sms sms = null;
    defaultProps.put("To", recipient);
    defaultProps.put("Body", body);
    try {
        sms = getSMSFactory().create(defaultProps);
    } catch (TwilioRestException e) { e.printStackTrace(); }
    return sms;
}

public String[] sendSMS(String body, String... recipients) {
    List<String> sids = new ArrayList<>();
    for (String r : recipients)
        sids.add(buildSMS(r, body).getSid());
    return sids.toArray(new String[sids.size()]);
}

}

4

1 に答える 1