Моя команда и я используем twilio для отправки sms-сообщений. Кажется, что все отлично работает на локальной машине каждого пользователя (с тем же самым точным кодом), за исключением того, что twilio всегда возвращает мне аутентификационную ошибку. Я отправляю сообщения на их «специальный номер», поэтому он фактически не отправляет реальное текстовое сообщение, но он все равно возвращает ошибку аутентификации.Twilio возвращает ошибку аутентификации только для моей локальной машины
вот некоторые из нашего кода, чтобы отправить сообщение:
def send_sms
self.from_phone_number = CONFIG['live_twilio'] ? self.customer.assigned_phone_number : CONFIG['test_phone_number']
self.to_phone_number = CONFIG['live_twilio'] ? self.customer.customer_phone_number : CONFIG['test_phone_number']
begin
report_to_new_relic_insights
send_message_with_twilio!
rescue Twilio::REST::RequestError => e
self.error_description = e.message
end
self.dispatched_at = Time.now
self.save(validate: false)
return e
end
def send_message_with_twilio!
unless self.customer.example_customer?
twilio_params = {
from: "+1#{from_phone_number}",
to: "+1#{to_phone_number}",
body: self.text
}
if ENV['RECORD_TWILIO_STATUSES'].in?(['1', 'true'])
twilio_params[:status_callback] = "#{CONFIG['secure_domain']}/messages/#{id}/update_status"
end
client.account.messages.create(twilio_params)
else
# @onboarding_flow
# don't send the actual SMS to the example customer
self.customer.send_reply_as_example_customer! if self.customer.first_reply?
end
end
def client
@client ||= begin
account_sid = ENV['ACCOUNT_SID'] || CONFIG['account_sid']
auth_token = ENV['AUTH_TOKEN'] || CONFIG['auth_token']
Twilio::REST::Client.new account_sid, auth_token
end
end
каждый раз, когда проходит эта линия: client.account.messages.create(twilio_params)
он возвращает ошибку AUTHENTICATE. он работает на любой другой локальной машине, кроме моей. весь код точно такой же, токены auth точно такие же. какие идеи могут быть проблемы? (В Auth жетоны становятся вытащило из config.yml
Больше информации: даже при запуске голых костей Twilio клиента в консоли с той же точной информацией в обеих машинах, мой возвращает ошибку и мои коллеги возвращают действительный
Вы также можете остановить отладчик перед вызовом 'Twilio :: REST :: Client.new' и проверить значение account_sid и auth_token. –
True @SteveWilhelm, это будет особенно полезно, если вы используете CONFIG ['account_sid'] вместо переменных окружения. –