希望这些天你做得对。
总结一下我的问题,我认为这不起作用,因为我使用的是免费的 Twilio 帐户而不是付费帐户。但这只是我的初学者理论。现在,问题:
我已经尝试过官方的 Twilio 教程(https://www.twilio.com/blog/automating-ngrok-python-twilio-applications-pyngrok,我分享了链接以防有人觉得它有趣或需要它),它允许我们使用 Client (twilio) 和 pyngrok (ngrok) 自动配置 SMS webhook (sms_url)。
def start_ngrok():
from twilio.rest import Client
from pyngrok import ngrok
url = ngrok.connect(5000)
print(' * Tunnel URL:', url)
client = Client()
client.incoming_phone_numbers.list(
phone_number=os.environ.get('TWILIO_PHONE_NUMBER'))[0].update(
sms_url=url + '/bot')
我无法解释过去 4 天我尝试过的所有事情,但都没有成功。我不断收到同样的错误:
client.incoming_phone_numbers.list(phone_number=os.environ.get('TWILIO_PHONE_NUMBER'))[0].update(sms_url=url + '/bot')
IndexError: list index out of range
尽管环境变量正常工作,但列表中的某些内容无法正常工作,它为空。我将只使用一个电话号码,因此确实不需要列表,所以我开始更改该行以避免不同的错误并最终得到以下结果:
def start_ngrok():
from twilio.rest import Client
from pyngrok import ngrok
url = ngrok.connect(5000)
print(' * Tunnel URL:', url)
client = Client()
client.incoming_phone_numbers("my_number").update(sms_url=str(url) + '/bot')
然后我得到了我自己无法解决的最后一个错误:
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/twilio/rest/api/v2010/account/incoming_phone_number/__init__.py", line 442, in update
payload = self._version.update(method='POST', uri=self._uri, data=data, )
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/twilio/base/version.py", line 106, in update
raise self.exception(method, uri, response, 'Unable to update record')
twilio.base.exceptions.TwilioRestException:
HTTP Error Your request was:
POST /Accounts/my_account_SID/IncomingPhoneNumbers/+my_number.json
Twilio returned the following information:
Unable to update record: The requested resource /2010-04-01/Accounts/my_account_SID/IncomingPhoneNumbers/+my_number.json was not found
More information may be available here:
https://www.twilio.com/docs/errors/20404
我尝试了所有不同的电话号码组合/格式:没有任何效果。
感谢您花时间阅读这一切!