我努力從您的twilio api發送消息,我測試了我的本地服務器上的twilio網站上存在的以下功能的演示: host:(i686 -pc-linux-gnu) libcurl php版本:7.35.0 ssl版本:OpenSSL/1.0.1f。Twilio cURL導致身份驗證錯誤 - 沒有提供憑據
它的工作原理我的本地服務器,但該服務器具有以下特點上: 主持人:x86_64的-紅帽Linux的GNU的 libcurl的PHP版本:7.19.7 SSL版本:NSS/3.19.1基本ECC 它沒沒有工作。 這裏的捲曲請求twilio API輸出:
{「代碼」:20003,「細節」:「你AccountSid或的authToken是不正確的。」,「消息」:「身份驗證錯誤 - 沒有提供憑據」 「MORE_INFO」: 「https://www.twilio.com/docs/errors/20003」, 「狀態」:401} 1
代碼:
<?php
//my trial account sid, and token
$sid = "XXXXXXXXXXXX"; // Your Account SID from www.twilio.com/user/account
$token = "XXXXXXXXXXXXX"; // Your Auth Token from www.twilio.com/user/account
function send_sms($sid, $token, $to, $from, $body) {
// resource url & authentication
$uri = 'https://api.twilio.com/2010-04-01/Accounts/' . $sid . '/SMS/Messages.json';
$auth = $sid . ':' . $token;
// post string (phone number format= +15554443333), case matters
$fields =
'&To=' . urlencode($to) .
'&From=' . urlencode($from) .
'&Body=' . urlencode($body);
// start cURL
$res = curl_init($uri);
// set cURL options
curl_setopt($res, CURLOPT_POST, TRUE);
curl_setopt($res, CURLOPT_RETURNTRANSFER, TRUE); // don't echo
curl_setopt($res, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($res, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($res, CURLOPT_USERPWD, $auth); // authenticate
curl_setopt($res, CURLOPT_POSTFIELDS, $fields);
// send cURL
$result = curl_exec($res);
curl_close($res);
return $result;
}
echo send_sms($sid,$token,"+XXXXXXXX","+XXXXXXXXXXXXXX","TESTING");
?>
我希望你知道是什麼問題,但我認爲這是關係到SSL版本,即包括與服務器上的PHP curl擴展。
PS:我無法訪問第二臺服務器,因此我無法將libcurl擴展升級到最新版本,我認爲這是問題的原因。
我覺得你不想在'&To ='中設置'&',只是'To =' –