node.js - 使用 Node.js 和 Aritable 的 Twilio 中的变量
问题描述
我是编程语言的新手,并且正在使用 Twilio 和 Airtable 进行辅助项目。
我想使用从 Airtable 数据库中检索到的变量发送 SMS。我无法为"to"
数字和"body"
文本(例如名字)打印变量。
const accountSid = 'ACXXXXXXXXXXX'
const authToken = 'cXXXXXXXXXXXXXXXXXXX'
var Airtable = require('airtable');
var base = new Airtable({apiKey: 'keyXXXXXXXXXX'}).base('XXXXXXXXXXXX');
var client = require('twilio')(accountSid, authToken
);
base('Table_1').select({
// Selecting the first 3 records in Grid view:
maxRecords: 1,
view: "Grid view"
}).eachPage(function page(records, fetchNextPage) {
// This function (`page`) will get called for each page of records.
records.forEach(function(record) {
var name = (record.get('Name'));
});
client.messages.create({
from: '+16XXXXXXXX',
to: '+61XXXXXXXX',
body: "Hello World My name is," + name
}).then((message) => console.log(message.sid));
});
解决方案
您的name
变量仅在您的records.forEach(function(records){})
函数范围内。但是你需要它来击中 twilio。尝试这样的事情。
...
records.forEach(function(record) {
var name = (record.get('Name'));
client.messages.create({
from: '+16XXXXXXXX',
to: '+61XXXXXXXX',
body: "Hello World My name is," + name
}).then((message) => console.log(message.sid));
});
凭借其所有的回调函数和嵌套函数,很难遵循 Javascript 程序中的控制流。
另外,不要忘记在您的操作.catch()
条款之后放置一个条款。.next()
messages.create()
推荐阅读
- javascript - 搜索框,无法点击结果“a”元素
- python - 如何使用 Scrapy Python 从重定向链接中提取网站 URL
- git - Jenkins,通过标签而不是分支从 Git 获取代码
- c# - 跨 ASP.Net Core Web 应用使用 Azure AD B2C Cookie
- angular - 使用 Keycloak 处理未登录 Angular 应用程序的用户
- python - 在 DataFrame pandas 的列中搜索和替换值
- android - 明文通信 - Android
- ruby-on-rails - PUT/POST 请求限制 机架攻击重定向不起作用
- ios - URLSessionTaskDelegate - 100% 进度和 didCompleteWithError 调用之间的延迟
- r - 使用 Scale_Colour_Manual 时更改图例位置