如何循环播放Twilio电话号码收到的邮件,并删除每个邮件?
我看到此部分:https://www.twilio.com/docs/api/rest/message#instance-delete
Bash有可能吗?
我到目前为止编写了这段代码:
#!/bin/bash
curl -G https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXX/Messages.json \
-d "Body=" \
-u 'ACYYYYYYY'
这仅列出我的Twilio帐户收到的所有邮件。如果我运行一个成功的删除程序,我不知道输出应该是什么样的。
答案 0 :(得分:2)
在没有外部工具的情况下在bash中执行此操作(例如jq是一个类似于awk的JSON处理工具)可能有点......不可靠但是我们走了。
如果你卷曲你的消息,我们可以用他们的工具看到输出是一些JSON,并且每条消息都有一个我们需要的URI。我们还看到要编辑消息,我们使用curl XPOST <message_uri> -d "Body=" -u "<auth_string>"
...因此,如果我们为每条消息选择URI并使用curl在每个消息URI上发布空体,我们将删除消息!
curl -G https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXX/Messages.json -u 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token' \
| grep '"uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/' \
| cut -d'"' -f 4 \
| xargs -I {} curl -XPOST "https://api.twilio.com/"{} -d "Body=`-u 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token'
显然,您需要使用您的帐户信息替换所有ACXX字符串!
首先,我们卷曲Messages.json来获取我们的消息。我们使用grep来删除每条消息的URI。我们使用cut来获取原始URI。然后我们使用xargs
和curl
为每个消息URI创建空主体帖子。
这是非常脆弱的,因为它没有处理分页,它绝对不会处理任何事情,除了期望来自messages.json端点的输出,它没有做任何检查响应来自在编辑消息时,空体发布,输出也可能是丑陋的。但是,如果一切都像API文档所说它应该有效,至少可以给你一个起点,看看为什么用一种具有更健壮的JSON解析的语言来做这件事是个好主意。