我正在尝试学习Android的Twilio API,因此正在经历快速入门教程. Twilio要求编写服务器代码以生成功能令牌.我没有任何已建立的服务器,因此我运行了PHP脚本,用于在本地apache服务器(即本地主机)上创建功能令牌.到目前为止一切正常.我在Android客户端中获得令牌,而HelloMonkey应用程序也在进行拨出电话.运行该应用程序时auth.PHP中的应用程序SID是twilio创建的默认应用程序SID.
按照快速入门指南https://www.twilio.com/docs/quickstart/php/android-client/twilio-application的这一部分,将默认应用程序SID替换为我在Twilio中创建的应用程序的SID之后,我开始遇到问题.
该应用程序不再在localhost上运行.有什么方法可以在本地主机上运行和测试整个快速入门指南吗?任何帮助将不胜感激.
解决方法:
Twilio的传播者在这里.
因此,我怀疑这里发生的事情是Twilio可能正在尝试向您的计算机上运行的“本地主机”地址发出请求,这显然是不可能的.要检查这一点,我首先要检查您的Twilio帐户的App Monitor,看看那里是否有任何错误.
Twilio客户端的工作方式是,当您让Android应用程序启动出站电话时,Twilio SDK会创建到Twilios服务器的音频连接.建立连接后,Twilio将尝试向您为Twiml应用程序配置的URL发出HTTP请求(客户端知道要使用的Twiml应用程序,因为其SID嵌入在您创建并用于设置客户端应用程序的功能令牌中).该URL为Twilio提供了有关如何处理该实时音频连接的说明.
如果将Twiml应用程序URL设置为localhost,则将无法使用,因为Twilio不知道计算机上的本地主机是什么.该URL必须是可公开访问的URL,或者您需要使用ngrok之类的服务将本地主机公开到公共Internet.
如果您只需要测试,则可以使用Twimlbin.com之类的网站托管一些静态TwiML.
希望能有所帮助.