尝试执行 FETCH(呃,POST 请求)💅💁🏼♀️
这篇文章将指导您如何使用 Azure Functions 和 Twilio 收发短信和电话,在本例中,我会引用您最喜欢的角色的台词。我选择了凯蒂·赫伦 (Cady Heron),但您也可以选择任何您喜欢的角色。
我不确定我会在Janis Ian 的北岸高中食堂地图上处于什么位置,但如果和 AP 计算机科学专业的孩子们在一起,那肯定不会是那个位置。
在使用新的 API 和技术时,我喜欢创建融入我喜欢的流行文化元素的应用程序和演示(例如,我的Twilizzo 演示或我的Dollygram 演示) 。上个月,我在Microsoft Reactor的Girl Geek Dinner上遇到了Chloe Condon ,并看到了她的Fake Boyfriend Demo,之后,我不仅受到启发使用Azure Functions + Twilio,而且还决定与她合作开发一些有趣的古怪应用程序。
☝当我写这篇文章时,克洛伊戏剧性地重现了她支持我的场景💕
要遵循本教程,您需要准备一些东西:
☁️ Azure 帐户
Azure Functions可以快速启动并运行项目,无需担心服务器的启动。我们将通过 HTTP 请求 来触发函数,但还有许多其他执行方式。如果您以前从未使用过 Azure,那么这篇关于创建您的第一个函数的 Microsoft Learn 教程可能会有所帮助(它确实对我帮助很大!),您也可以深入了解相关文档。
☎️ Twilio 帐户和电话号码
如果你曾经叫过 Lyft,然后又不得不联系司机,Twilio可以帮你实现。开发者使用Twilio以编程方式接打电话、发短信,以及许多其他功能,比如April 的“How I'm Feeling”应用。我真的可以花一整天时间浏览他们的文档和教程(说真的,里面甚至还隐藏着Rick Roll)。如果你也像我一样喜欢这些文档,不妨看看Hacktoberfest。
创建一个Twilio 帐户,并添加一个可以接收短信和电话的试用电话号码。如果你想知道更具体的信息,可以搜索你角色居住地的区号,比如,在我的情况下,是距离伊利诺伊州北岸三英里的地方。
这可能很明显,但你还需要准备好手机来发短信/测试你的应用程序。🤳
有了这些,我们就应该做好准备了!
创建 Azure 资源
创建免费的 Azure 帐户后,登录 Azure 门户。在那里,单击左侧的“创建资源”图标,然后单击右侧的“函数应用” 。
现在您需要填写有关您的功能的一些详细信息:
1️⃣ 为你的应用起个名字,随便什么名字都可以。2️⃣
选择订阅(免费试用,如果你和我一样是学生)。3️⃣
创建一个新的资源组。4️⃣
选择 Windows 作为此演示的操作系统。5️⃣
“消费”托管计划是你最好的选择。6️⃣
根据你的所在地选择一个位置。对我来说,在旧金山,这意味着美国西部。7️⃣
在本教程中,我将使用 Node.js 作为运行堆栈。8️⃣
选择“创建新存储”。
设置完这些选项后,按“创建”来部署你的应用程序。你应该会在一两分钟内收到部署成功的通知。
加油,Glen Coco!点击右上角铃铛上的通知按钮,然后前往资源页面查看你的新应用,并添加功能。
向资源添加 Azure 函数
找到资源后,单击左侧菜单中“功能”旁边的“+”按钮。
为了快速开始,我们将继续选择In-portal进行开发。
单击该选项后按继续,然后为我们的功能选择 Webhook + API。
我们选择此选项是因为当我们的Twilio号码收到短信时,我们希望它向我们的 Azure 函数发送 POST 请求以告诉它运行。
完成这些点击后,你的 index.js 中就会出现一个基本的 Hello, World 应用。点击代码顶部的 </> 获取函数 URL,复制 URL ,并在 URL 末尾添加&name=your-name ,然后粘贴到浏览器中并按 Enter 键。浏览器标签页应该会显示“Hello, name”(为了纪念“贱女孩日”,你可以随意将其改为“Jambo, name”)。🙋♀️
一旦您确认它可以正常工作,就可以添加 Twilio 了!
在 Azure 中安装 Twilio 库和消息传递
我们需要安装 Twilio 的辅助库,将我们函数中的 JavaScript 转换为 Twilio 的标记语言 (TwiML)。
为此,我们首先需要为函数添加一个 package.json 文件。点击屏幕最右侧的“查看文件”选项(您可能需要在底部灰色栏中一直滚动到最右)。之后,点击“添加”选项,并将文件命名为package.json。
将以下代码添加到你的package.json中:
点击大大的“保存”按钮,返回到 index.js 文件。打开屏幕底部的控制台,输入npm install twilio
。这会添加我们需要的库,并创建一个 package-lock.json 文件,控制台中的红色消息可能就是这么显示的(不用担心)。
一旦我们的库安装完毕,我们就可以开始编写实际的 Twilio 代码了。这是我的,在编写自己的代码之前,您可以直接复制,但如果您不确定发生了什么,请务必查看注释:
保存代码,然后单击</> 获取函数 URL。现在,我们准备返回 Twilio 并设置我们的电话号码。
将我们的 Twilio 电话号码链接到我们的 Azure 功能
返回到您添加的电话号码。向下滚动到显示“消息”的位置,选择“Webhook”,然后粘贴您的 Azure 函数 URL。
点击“保存”。你就可以开始测试了——给你的号码发一条短信。
哇哦!如果你的短信有效,那就添加一个电话吧。
使用 Azure 接听 Twilio 呼叫
这个函数的工作原理和我们第一个函数差不多,但我们需要录制我们想让呼叫者听到的内容。我使用了这个工具来录制,然后又用了这个工具来混搭 Cady 和 Kevin(你可以在这里看到完整的演示)。
对录音满意后,您需要将其上传到Twilio Assets。前往左侧菜单,点击Runtime ,然后点击Assets。进入Assets后,点击红色的+按钮上传音频文件。
🚨重要提示🚨 您不想公开分享您的资产链接,这就是我屏蔽我的资产链接的原因。
复制资产链接,并将其带回 Azure。创建另一个 Azure 函数。再次单击Azure 中“函数”旁边的“+”按钮,选择相同的设置(门户内和 Webhook + API),添加另一个 package.json 文件以及我们的 Twilio 辅助库。
接听电话的代码与回复短信的代码非常相似。这是我使用的代码,但带有一个占位符 Twilio Asset 链接,您可以将其替换为您自己的链接。同样,请花一两分钟时间阅读注释:
添加完成后,点击“保存”,<//>获取函数 URL,返回你的 Twilio 号码,并在接到电话时将该链接粘贴为 HTTP POST 请求。在 Twilio 中保存,即可进行测试,拨打电话!
你做到了!这仅仅是 Azure 和Twilio的一个小小尝试。当然,不是每天都是 10 月 3 日,所以如果你在 10 月 3 日之前或之后阅读这篇文章,数字已经更新,并随机附上一句《贱女孩》的台词。我还会使用Azure Functions 的计时器触发器设置 Azure 提醒,提醒我明年将数字改回来。真的……你能做的事情没有限制。
文章来源:https://dev.to/twilio/trying-to-make-fetch-errr-a-post-request-happen-12ad