Ich benutze Twilio Node zum Senden von SMS. aber ich bin immer Fehler:Twilio senden SMS funktioniert nicht in Meteor
sendSms is not defined
Hier ist meine Twilio Datei im Server-Ordner:
import twilio from "twilio";
sms = {
accountSid: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
authToken: "your_auth_token"
};
const client = new twilio(sms.accountSid, sms.authToken);
console.log('client twilio *********** ',client)
sendSms=(phoneNum,randomNum)=> {
client
.sendSms({
body: "MicroTM one time password:" + randomNum,
to: phoneNum,
from: "+16062631146"
})
.then((message, err) => {
if (!err) {
console.log(message);
} else {
console.log(err);
}
});
}
Wenn ich jetzt Twilio trösten, ich war nicht in der Lage, die SendSMS Funktion zu finden. Hier sind die Protokolle:
client twilio *********** Twilio {
I20170813-08:14:44.200(5.5)? username: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
I20170813-08:14:44.201(5.5)? password: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
I20170813-08:14:44.202(5.5)? accountSid: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
I20170813-08:14:44.204(5.5)? httpClient: {},
I20170813-08:14:44.204(5.5)? region: undefined,
I20170813-08:14:44.205(5.5)? _accounts: undefined,
I20170813-08:14:44.206(5.5)? _api: undefined,
I20170813-08:14:44.207(5.5)? _chat: undefined,
I20170813-08:14:44.208(5.5)? _fax: undefined,
I20170813-08:14:44.209(5.5)? _ipMessaging: undefined,
I20170813-08:14:44.209(5.5)? _lookups: undefined,
I20170813-08:14:44.210(5.5)? _monitor: undefined,
I20170813-08:14:44.210(5.5)? _notify: undefined,
I20170813-08:14:44.211(5.5)? _preview: undefined,
I20170813-08:14:44.211(5.5)? _pricing: undefined,
I20170813-08:14:44.212(5.5)? _taskrouter: undefined,
I20170813-08:14:44.212(5.5)? _trunking: undefined,
I20170813-08:14:44.212(5.5)? _video: undefined,
I20170813-08:14:44.213(5.5)? _messaging: undefined,
I20170813-08:14:44.213(5.5)? _wireless: undefined,
I20170813-08:14:44.214(5.5)? _sync: undefined }
Hier ist meine package.json Datei:
{
"name": "MicroTM",
"private": true,
"scripts": {
"start": "meteor run"
},
"dependencies": {
"babel-runtime": "^6.20.0",
"bcrypt": "^1.0.2",
"busboy": "^0.2.14",
"fibers": "^2.0.0",
"lodash": "^4.17.4",
"meteor-node-stubs": "~0.2.4",
"moment": "^2.18.1",
"twilio": "^3.6.2"
}
}
Es könnte einige Problem mit der package.json Datei sein, wie ich bin nicht in der Lage ein Problem mit Twilio api zu finden .
EDIT:
Hier ist meine Client-Seite, wo ich die Send SMS-Funktion aufgerufen:
Template.register.events({
'submit form': function(event) {
event.preventDefault();
let fullName = event.target.fullName.value,
phoneNum = event.target.phoneNum.value,
email = event.target.emailsignup.value,
password = event.target.passwordsignup.value,
confirmPass = event.target.passwordsignup_confirm.value;
console.log(phoneNum,email,password,confirmPass);
let randomNum = Math.floor(1000 + Math.random() * 9000);
let data = {
fullName: fullName,
phoneNum: phoneNum,
email:email,
password:password,
confirmPass:confirmPass,
otp:randomNum,
isVerified: false,
createdAt: Date.now()
};
if(password != confirmPass){
swal({
title: 'passwords are not matching!',
})
}
else{
Meteor.call('registerUser',data,function (err,res) {
if(!err){
//console.log('inside result ******* ',data)
sendSms(data.phoneNum,randomNum);
Router.go('verify')
}
else{
console.log('error ******* ', err)
}
})
}
}
})
Bitte beachten Sie auch den Screenshot für den Fehler finden Ich erhalte:
stellen Sie sicher, Client ist in der Funktion verfügbar –
Wie können Sie eine Serverfunktion auf der Clientseite aufrufen? – wrangler
du meine ich sollte die send sms-funktion irgendwo zugänglich für sowohl client als auch server –