使用 TwilioClient 从运行时函数执行 Studio Flow
Using TwilioClient to execute Studio Flow from a Runtime Function
我创建了一个 Twilio Studio Flow 来进行通过 REST 触发的出站调用 API。我想从 Twilio 运行时函数触发它,但在使用 TwilioClient 库时遇到错误。
通过命令行触发 Studio Flow 成功运行如下:
curl -X POST "https://studio.twilio.com/v1/Flows/FWXXXXXXXXXXXXXXXXXXXXXXXXXX/Executions" -d "To=+1XXXXXXXXX" -d "From=+1XXXXXXXXXX" -u ACCOUNT_SID:AUTH_TOKEN
但是尝试通过运行时函数执行等效操作失败了:
exports.handler = function(context, event, callback) {
const twilioClient = context.getTwilioClient();
console.log(twilioClient.studio);
twilioClient.studio.flows('FWXXXXXXXXXXXXXXXXXXXXXXXXXX').executions.create({
to: '+1XXXXXXXXX',
from: '+1XXXXXXXXXX',
parameters: JSON.stringify({
name: "Client"
})
})
.then(function(execution) {
console.log(execution.sid);
callback(null, execution.sid);
})
.catch(error => {
console.error(`problem with request: ${error.message}`);
callback(error.message);
});
};
遇到的错误是:
{ message: 'Cannot read property \'flows\' of undefined',
name: 'TypeError',
stack: 'TypeError: Cannot read property \'flows\' of undefined\n at Object.exports.handler (/var/task/handlers/ZF3ef70f4f38cfdf1c656da43214c01e18.js:6:19)\n at Object.exports.handler (/var/task/node_modules/enigma-lambda/index.js:306:10)\n at exports.handler (/var/task/enigma.js:17:9)' }
我已经研究了好几个小时,但似乎离解决方案还差得很远。如果能为我指明正确的方向,我将不胜感激!
请确保您使用的是当前版本的 Twilio 帮助程序库。你可以在Twilio Functions下查看你当前的版本,Configure: https://www.twilio.com/console/runtime/functions/configure (under: twilio), 3.6.3 is old.
最新版本可以在这里找到:
https://github.com/twilio/twilio-node/releases(当前为 3.31.0)。
我创建了一个 Twilio Studio Flow 来进行通过 REST 触发的出站调用 API。我想从 Twilio 运行时函数触发它,但在使用 TwilioClient 库时遇到错误。
通过命令行触发 Studio Flow 成功运行如下:
curl -X POST "https://studio.twilio.com/v1/Flows/FWXXXXXXXXXXXXXXXXXXXXXXXXXX/Executions" -d "To=+1XXXXXXXXX" -d "From=+1XXXXXXXXXX" -u ACCOUNT_SID:AUTH_TOKEN
但是尝试通过运行时函数执行等效操作失败了:
exports.handler = function(context, event, callback) {
const twilioClient = context.getTwilioClient();
console.log(twilioClient.studio);
twilioClient.studio.flows('FWXXXXXXXXXXXXXXXXXXXXXXXXXX').executions.create({
to: '+1XXXXXXXXX',
from: '+1XXXXXXXXXX',
parameters: JSON.stringify({
name: "Client"
})
})
.then(function(execution) {
console.log(execution.sid);
callback(null, execution.sid);
})
.catch(error => {
console.error(`problem with request: ${error.message}`);
callback(error.message);
});
};
遇到的错误是:
{ message: 'Cannot read property \'flows\' of undefined',
name: 'TypeError',
stack: 'TypeError: Cannot read property \'flows\' of undefined\n at Object.exports.handler (/var/task/handlers/ZF3ef70f4f38cfdf1c656da43214c01e18.js:6:19)\n at Object.exports.handler (/var/task/node_modules/enigma-lambda/index.js:306:10)\n at exports.handler (/var/task/enigma.js:17:9)' }
我已经研究了好几个小时,但似乎离解决方案还差得很远。如果能为我指明正确的方向,我将不胜感激!
请确保您使用的是当前版本的 Twilio 帮助程序库。你可以在Twilio Functions下查看你当前的版本,Configure: https://www.twilio.com/console/runtime/functions/configure (under: twilio), 3.6.3 is old.
最新版本可以在这里找到: https://github.com/twilio/twilio-node/releases(当前为 3.31.0)。