我正在尝试为使用Laravel构建的应用程序使用Guzzle创建客户端以连接IBM-Watson bot服务,但是在尝试创建服务的新会话时失败,我收到错误401:未经授权。我没有使用基本授权,而是尝试通过api键授权进行连接。
function start_bot_session() {
//Api Key de Watson.
$api_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
//ID bot (Watson).
$assistant_id = '9c1c426d-cd33-49ec-a3bc-f0835c3264b5';
//URL service.
$url = 'https://gateway.watsonplatform.net/assistant/api/v2/assistants/';
//Method for start a new session.
$method = $assistant_id.'/sessions?version=2019-02-28';
$client = new \GuzzleHttp\Client(["base_uri" => $url]);
$response = $client->request('POST', $method, [
'headers' => [
'Authorization:' => $api_key
]
]);
return response;
}
有什么办法可以解决这个问题?您能告诉我一些替代方法来进行api调用而不是使用Guzzle吗?
我相信您必须将其作为不记名令牌发送。因此,以下应该工作。