我只想在點擊驗證號碼服務時呼叫 < a > 標簽上的 twilio 服務并檢查號碼是否有效然后繼續下一步否則顯示錯誤,但我不知道我該怎么做。
服務/twilio.rb
def call(number, message)
account_sid = ENV['TWILIO_ACCOUNT_SID']
auth_token = ENV['TWILIO_AUTH_TOKEN']
@client = Twilio::REST::Client.new(account_sid, auth_token)
message = @client.messages.create(body: message,from: ENV['TWILIO NUMBER'],to: number)
Vue.js
<div>
<li v-for:'number in phoneNumbers '>
{{ number }}
<a>
verify number
</a>
</li>
uj5u.com熱心網友回復:
Twilio 開發人員布道者在這里。
首先,如果您想驗證一個數字,那么我建議您查看Twilio Verify。它為您提供通過短信或語音驗證號碼的選項,并處理將代碼發送到手機并驗證代碼是否正確。
接下來,如果您想從前端觸發號碼驗證,那么您需要通過控制器操作公開您的服務。
像這樣的事情將開始驗證并回傳一個 JSON 物件以顯示成功。
class PhoneNumbersController < ApplicationController
def verify
account_sid = ENV['TWILIO_ACCOUNT_SID']
auth_token = ENV['TWILIO_AUTH_TOKEN']
@client = Twilio::REST::Client.new(account_sid, auth_token)
@client.verify
.services(ENV["TWILIO_VERIFY_SERVICE_SID"])
.verifications
.create(to: params[:number], channel: "sms")
render json: { :verification => "started" }
end
end
您還需要為此控制器操作設定路由config/routes.rb。
對于前端,我沒有用 Vue 做過很多作業,但希望這能讓你開始。單擊鏈接時,您需要向控制器操作發出 HTTP 請求。您可以使用fetchAPI發出請求。像這樣的事情應該讓你開始:
<template>
<div>
<li v-for:'number in phoneNumbers '>
{{ number }}
<button v-on:click="startVerification({{ number }})">
verify number
</button>
</li>
</div>
</template>
<script>
export default {
methods: {
startVerification: function(number) {
fetch("/phone_numbers/verify", {
method: "POST",
body: JSON.stringify({ number: number }),
headers: { "Content-Type": "application/json" }
})
.then(res => res.json)
.then(data => {
// Verification started. Probably update the state and ask for the code somehow
})
.catch(console.error);
}
}
}
</script>
uj5u.com熱心網友回復:
如果你需要驗證一個號碼,那么,不要打電話......
改用“查找”API 并檢查該電話號碼是否回傳資訊,如果沒有,則可以說它無效。
因為如果你打電話,并且它不是一個有效的電話號碼,你可能需要檢查“CallStatus”來檢查它是否被接聽,如果沒有,那么它是無效的或其他什么,你可能會惹惱用戶除非你知道他們不在乎。
此外,如果您想在注冊表單中查看電話號碼,您可以輕松發送帶有用戶可以檢查的代碼的短信,如果電話號碼無效,則他們不應收到該代碼.
如果您只需要檢查電話號碼格式是否有效,那么您不需要 Twilio,只需使用來自 Google 的“libphonenumber”之類的庫或類似的庫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/360000.html
標籤:红宝石轨道 红宝石 Vue.js 暮光之城 twilio-api
