我无法使用wp_remote_post实现Twilio在WordPress上发送短信

问题描述 投票:0回答:1

如何使用wp_remote_post从Twilio发送短信?下面的代码很好用,但需要使用wp_remote_post使用WordPress HTTP API

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);
}
wordpress twilio
1个回答
1
投票

要使用wp_remote_post调用Twilio API,您需要做一些事情:

  1. 像在示例中一样创建URL
  2. 收集您要发送的数据(您的示例中的FromToBody
  3. 从您的帐户Sid和Auth令牌中创建一个Authorization标头。要做到这一点,你需要一个带有一个密钥的数组,Authorization和base 64编码的值,用于编码与冒号连接的Account Sid和Auth Token。
  4. $urlwp_remote_post的第一个参数,第二个参数是具有bodyheaders属性的关联数组。

请参阅以下示例:

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
  ));
}
© www.soinside.com 2019 - 2024. All rights reserved.