twilio测试凭据不适用于发送短信 - 抛出异常“测试帐户凭证不可用资源”
问题描述:
我正在构建一个发送短信消息的红宝石应用程序,我正在使用twilio gem。我正在按照示例1进行测试,在文档中发送短信。twilio测试凭据不适用于发送短信 - 抛出异常“测试帐户凭证不可用资源”
例如在Twilio网站:
# Get your Account Sid and Auth Token from twilio.com/user/account
account_sid = 'ACb62e32327e8ec258781341a039e65c46'
auth_token = '{{ auth_token }}'
@client = Twilio::REST::Client.new account_sid, auth_token
sms = @client.account.sms.messages.create(:body => "All in the game, yo",
:to => "+14108675309",
:from => "+15005550006")
puts sms.body
https://www.twilio.com/docs/api/rest/test-credentials#test-sms-messages
这里是我的代码看起来像
client = Twilio::REST::Client.new(ENV['twilio_account_sid'], ENV['twilio_auth_token'])
response = client.account.sms.messages.create({
:from => '+15005550006',
:to => '<<a valid number>>',
:body => "Some message"
})
当我发送与我的测试证书的有效数字,这有效的测试从号码(15005550006)我得到一个异常说
“资源无法通过测试帐户凭据访问”
我看不出我在做什么不同于示例。
感谢您的帮助。
答
很可能你的POST后有一个GET请求来发送短信。
我得到了同样的错误后,我取出GET请求
$message = $client->account->messages->get($sms->sid);
,现在它运作良好。 (测试凭据将与POST请求只工作)
答
随着PHP SDK(不知道其他人),此消息的结果,如果试图在使用测试凭据访问Twilio的回应error_code
或error_message
性能。
一个简单的解决方案是将包裹的任何企图在条件逻辑(伪代码)来访问这些值:
if (env('TWILIO_SID') !== 'AC2593237dd083dcde0480771b908f9de2') {
//NOT using test credentials. Safe to access properties.
}
else {
//Using test credentials. Accessing properties throws exception.
}
我不认为这就是它。例子中说''成功发送一条短信,通过发送短信,使用魔术号码+15005550006作为From号码,以及To号码的普通电话号码来触发。“'此例子使用常规号码”14108675309“但是预先定义了'to'数字 – 2014-11-21 16:27:01
你绝对是对的,但仅仅为了测试目的,当你使用预定义的数字时会发生什么? – iMacTia 2014-11-21 16:36:57
测试中没有有效的“to”号码。他们提供的所有“to”数字都用于测试错误。唯一有效的号码是来自号码“5005550006”,如果我使用它,我会得到相同的消息“”资源无法通过测试帐户凭证访问“ – 2014-11-21 16:51:07