wordpress - 我无法使用 wp_remote_post 在 WordPress 上实现 Twilio 发送短信
问题描述
如何使用 wp_remote_post 从 Twilio 发送短信?下面的代码运行良好,但需要使用 WordPress HTTP API 使用 wp_remote_post 完成
function send_twilio_text_msg($id, $token, $from, $to, $body)
{
$url = "https://api.twilio.com/2010-04-01/Accounts/".$id."/SMS/Messages";
$data = array (
'From' => $from,
'To' => $to,
'Body' => $body,
);
$post = http_build_query($data);
$x = curl_init($url );
curl_setopt($x, CURLOPT_POST, true);
curl_setopt($x, CURLOPT_RETURNTRANSFER, true);
curl_setopt($x, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($x, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($x, CURLOPT_USERPWD, "$id:$token");
curl_setopt($x, CURLOPT_POSTFIELDS, $post);
$y = curl_exec($x);
curl_close($x);
print_r($y);
}
解决方案
要使用 Twilio API 调用wp_remote_post
您需要做一些事情:
- 像您在示例中所做的那样创建 URL
- 收集您要发送的数据(您的
From
、To
和Body
来自您的示例) Authorization
从您的 Account Sid 和 Auth Token创建一个标头。为此,您需要一个带有一个键的数组,Authorization
以及由 base 64 编码的 Account Sid 和 Auth Token 与冒号连接的值。$url
是第一个参数,第二个参数是一个具有和属性wp_remote_post
的关联数组 。body
headers
请参见下面的示例:
function send_twilio_text_msg($id, $token, $from, $to, $body)
{
$url = "https://api.twilio.com/2010-04-01/Accounts/".$id."/SMS/Messages";
$data = array(
'From' => $from,
'To' => $to,
'Body' => $body
);
$headers = array(
'Authorization' => 'Basic ' . base64_encode($id . ':' . $token)
);
$result = wp_remote_post($url, array(
'body' => $data,
'headers' => $headers
));
}
推荐阅读
- c# - 执行 linq 查询时,它会抛出转换错误 system.int32
- javascript - 使用 Draftjs Modifier 输入时如何显示下拉菜单
- grid - 更改列选择器中的文本 - ejs-grid
- android - Whatsapp 贴纸在添加到 whatsapp 时显示错误
- php - Bootstrap 2.3.2 - JQuery Country/State 在更改时填充
- node.js - 无法在 node.js 中获取/添加
- java - 无法使用相对定位器单击第二个复选框
- reactjs - 为什么我在第一次加载时在 nextjs 中什么也得不到(getInitialProps 中的 css 和参数)
- kubernetes - Kubernetes pod 集群 ip 没有响应?
- confusion-matrix - 准确率和召回率之间的差异