PHP:如何使用Guzzle使用api密钥授权进行api调用?

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

我正在尝试为使用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吗?

php laravel ibm-watson guzzle api-key
1个回答
0
投票

我相信您必须将其作为不记名令牌发送。因此,以下应该工作。

© www.soinside.com 2019 - 2024. All rights reserved.