【问题标题】:Twilio return method as POST valueTwilio 返回方法作为 POST 值
【发布时间】:2015-12-02 15:07:24
【问题描述】:

我正在尝试构建一个测试 Twilio 脚本,以便 POST 请求可以只使用方法返回的值是一个脚本。 这些值被设置为环境变量,我使用与脚本相同的命令检查了它们在 Python shell 中是否正确。 正在使用 Python 2.7。 环境变量以字符串的形式存储并按原样返回。

from twilio.rest import TwilioRestClient
import os

ACCOUNT_SID = os.environ['ACCOUNT_SID']
AUTH_TOKEN = os.environ['AUTH_TOKEN']
client = TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN)

def target_number():
    return os.environ['TARGET_NUMBER']

def my_number():
    return os.environ['MY_NUMBER']

message = client.messages.create(
    body="foo bar",  # Message body, if any
    to=target_number(),
   from_=my_number(),
)
print message.body

我收到以下错误:

python my_twilio_testing_script.py 
Traceback (most recent call last):
  File "my_twilio_testing_script.py", line 19, in <module>
    to=target_number(),
  File "my_twilio_testing_script.py", line 9, in target_number
    return os.environ['TARGET_NUMBER']
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/UserDict.py", line 23, in __getitem__
    raise KeyError(key)
KeyError: 'TARGET_NUMBER'

【问题讨论】:

    标签: macos python-2.7 api twilio


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    您的某些环境变量似乎正在工作,否则当您设置帐户 SID 和身份验证令牌时脚本会崩溃。

    所以似乎 TARGET_NUMBER 可能未设置。在运行脚本的终端窗口中,是否可以执行以下 bash 命令:

    $ echo $TARGET_NUMBER
    

    这是否显示了您期望的数字?如果没有,您可能需要再次导出环境变量。

    【讨论】:

    • 是的,我查过了。似乎我不能在这些参数中使用函数的返回值。还没有找到解决方法,但似乎很奇怪,但它无法完成。一种解决方案可能是将 Twilio 调用提取到一个函数中并循环它,并作为循环的一部分来不断更改环境变量。不过我还没有机会尝试这个
    猜你喜欢
    • 2023-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多