使用Firebase Cloud Function的POST请求发送SMS
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Firebase Cloud Function的POST请求发送SMS相关的知识,希望对你有一定的参考价值。
我有一个来自textlocal的SMS API,当在Firestore集合中创建新文档时,我想使用它通过Cloud功能发送SMS。集合名称:预订短信。它将创建一个带有“数字”,“名称”和“服务”字段的文档现在,SMY API只需很少的参数即可发送SMS。API网址:“ https://api.textlocal.in/send/”1. apikey2.发件人3.消息。该消息将被构造为'嗨,'姓名',您对'service'的预订已确认。
名称,服务和编号将来自Firestone文档和apikey,发件人将使用cloudfunction代码进行编码。现在,我想创建cloudfunction触发器,该触发器将在创建文档时发送短信。下面是我尝试的不完整代码,请帮助我完成它。
//1. Deploys as dbUsersOnUpdate
const functions = require('firebase-functions')
const admin = require('firebase-admin')
// 2. Admin SDK can only be initialized once
try admin.initializeApp(functions.config().firebase) catch(e)
console.log('initializeApp failure')
// 3. variable used:
const apikey = asasasasasasasasas
const sender = DDDDDD
// 4. Watch for new booking
exports = module.exports = functions.database.ref('/BookingSMS/uid').onCreate((event) =>
const snapshot = event.data
const user = snapshot.val()
return bookSMS(user);
)
function bookSMS(user)
// 5. Send booking SMS to users
const smsoption =
apikey: 'asasasasasasasasas',
sender: 'DDDDDD'
to: '$user.phone',
message: 'Welcome!',
// 6. Process the sending of this SMS
我也想在数字前加上+91。并使用名称和服务构造消息。
根据documentation,不直接支持node.js。您应该可以使用他们的get请求。 (希望您熟悉异步/等待)试试:
async function bookSMS(user)
// 5. Send booking SMS to users
const smsoption =
apikey: 'asasasasasasasasas',
sender: 'DDDDDD'
to: '$user.phone',
message: 'Welcome!',
// 6. Process the sending of this SMS
await fetch(`https://api.textlocal.in/send/?apikey=$apiKey&numbers=$user.phone&message=Welcome!&sender=DDDDDD`)
您必须启用结算功能才能访问Firebase中的外部API
以上是关于使用Firebase Cloud Function的POST请求发送SMS的主要内容,如果未能解决你的问题,请参考以下文章
Firebase Cloud Function 部署 tslint 错误
在 Cloud Function for Firebase 中设置 Firebase 消息的优先级
在 TypeScript 中为 Firebase Cloud Function 配置 mailgun
使用Firebase Cloud Function的POST请求发送SMS