我正在尝试使用试用帐户使用Twilio服务拨打号码。
我在这里关注Java示例:https://www.twilio.com/docs/quickstart/java/rest/call-request
我已使用我的API凭据,提供的Twilio号码,目的地号码和TwiML说明网址配置了示例。
当我运行MakeCall类时,将调用目标号码。
当我回复电话时,我收到“试用帐户”消息,然后它要求我按任意键。当我按一个键时,呼叫被删除。
正如我所看到的,Twilio没有调用TwiML指令url。
我已经使用测试证书进行了测试但没有成功。
关于为何没有调用TwiML指令url的任何想法?
答案 0 :(得分:0)
使用上面提到的文档中的twilio-java helper library和以下代码:
然后我们实例化一个新的客户端对象,将请求方法设置为 'POST',填写'From','To'和'Url'参数 关联数组,并关闭对Twilio的请求!
除了您网址的任何潜在问题之外......您是否在the console中配置twilio号码时将请求方法设置为POST?
import java.util.Map;
import java.util.HashMap;
import com.twilio.sdk.TwilioRestClient;
import com.twilio.sdk.TwilioRestException;
import com.twilio.sdk.resource.instance.Account;
import com.twilio.sdk.resource.instance.Call;
import com.twilio.sdk.resource.factory.CallFactory;
public class MakeCall {
public static final String ACCOUNT_SID = "AC123";
public static final String AUTH_TOKEN = "456bef";
public static void main(String[] args) throws TwilioRestException {
TwilioRestClient client = new TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN);
Account mainAccount = client.getAccount();
CallFactory callFactory = mainAccount.getCallFactory();
Map<String, String> callParams = new HashMap<String, String>();
callParams.put("To", "5105551212"); // Replace with your phone number
callParams.put("From", "(510) 555-1212"); // Replace with a Twilio number
callParams.put("Url", "http://demo.twilio.com/welcome/voice/"); // Configure your own URL with TwiML instructions using TwiML Bins
// Make the call
Call call = callFactory.create(callParams);
// Print the call SID (a 32 digit hex like CA123..)
System.out.println(call.getSid());
}
}