当我在表单域中输入电话号码时出现以下错误
ArgumentError in Apps::TextyController#send_text
Account SID and auth token are required
但我在代码中有 Auth token 和帐户 SID。
module Messenger
def send_sms(number)
acct_sid = ENV['AC0b06exxxxxxxxxxxxx']
auth_token = ENV['68ce616xxxxxxxxxxx']
@client = Twilio::REST::Client.new acct_sid, auth_token
from = '+6466817345'
message = @client.account.messages.create(
:from => from,
:to => '+1'+number,
:body => 'accept my application'
)
end
end
我使用的是较旧的 Ruby -v 2.2.0 和 Rails 4。
这是 texty_controller.rb
class Apps::TextyController < ApplicationController
def index
@phone = Phone.new
end
def send_text
@phone = Phone.new(phone_params)
@phone.send_sms(@phone.clean_number)
@phone.save
redirect_to :back
end
private
def phone_params
params.require(:phone).permit(:number)
end
end
最佳答案
您如何将 SID 和 Auth Token 存储为环境变量?规范是将它们保存在 application.yml 文件中并将它们命名为类似 TWILIO_AUTH_TOKEN = 'AUSHXU******' TWILIO_ACCOUNT_SID = 'SUHXB823*****'
然后使用 ENV['TWILIO_AUTH_TOKEN'] 调用它们。
您是否尝试过在控制台中调用您的环境变量?如果您得到 nil,则意味着您没有正确访问它们,因此您的 acct_sid 和 auth_token 局部变量将为 nil。
关于ruby-on-rails - ArgumentError(需要帐户 SID 和身份验证 token ):,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40861448/