-2

我一直在尝试使用 guzzle 从 bulksms.com 发送批量短信,它返回此错误,

guzzlehttp\exception\clientexception 客户端错误:发布 https://api.bulksms.com/v1/messages导致需要 401 完整身份验证才能访问此资源响应::“type”“ https://developer.bulksms.com /json/v1/errors#authentication-failed

我的代码

$client = new Client([
    'base_uri'=>'https://www.bulksms.com/',
    'timeout'=>'900.0'
]); 

//$result = $client->post('', [
//    'form_params' => [
//        'sample-form-data' => 'value'
//    ]
//]);

$result = $client->request('POST','https://api.bulksms.com/v1/messages', [
    'form_params' => [
        'username' => 'username',
        'password' => '****',
        'sender' => 'my appname',
        'recipients' => '+5555555555',
        'message' => 'Testing message',
    ]
]);
4

2 回答 2

1

其他人已经指出您正确使用身份验证,并使用 JSON 作为您的请求格式。此外,您使用了错误的变量名。例如,文档使用变量 name to,而您已经使用recipients了(也许您从其他地方复制并粘贴了该代码?)。

该文档有一个使用 curl 的 PHP 代码示例,位于:https : //www.bulksms.com/developer/json/v1/#tag/Message - 为什么不使用它作为基础,然后将其转换为工作 Guzzle请求,作为起点?

于 2019-11-19T16:23:23.180 回答
0

您是否查看过 API 文档中的身份验证部分?您应该使用 HTTP Basic Auth 通过 API 进行身份验证。

于 2019-11-19T09:06:01.520 回答