ruby-on-rails - ArgumentError(需要帐户 SID 和身份验证 token ):

标签 ruby-on-rails ruby twilio

当我在表单域中输入电话号码时出现以下错误

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

which is a clone from the following website

最佳答案

您如何将 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/

相关文章:

ruby-on-rails - RoR 如何获取/needs/4 而不是/needs.4 的button_to 路径?

ruby - UBUNTU 14.04 (x86_64) 上的 rbenv : BUILD FAILED when Install Ruby 2. 2.3

ruby - 允许其他人通过亚马逊实例查看您的 Sinatra 本地服务器

javascript - Twilio webRTC 通话恰好在 10 分钟后中断

ruby-on-rails - before_filter 带参数验证用户权限

Javascript 插件无法与 Turbolink 一起正常工作

ruby-on-rails - Cucumber 和 Rails - 打印场景

python - 操作格式良好的 xml(在 linux 下运行的任何语言)

android - 广播接收器未被 twilio 解雇

java - Twilio API 问题