GuzzleでAPIキー(シークレットキー)を指定する方法

ライブラリ

Curlの代わりにGuzzleというパッケージを利用してAPIを叩いています

このGuzzleを利用する際、APIキーを同時に送信する方法で手間取ったのでメモしておきます

Curlの場合

curl https://api.hoge.com/rename/ \
  -u {{API_KEY}}:

Curlならこんな感じで、-Uオプションを追加して認証を行うケースです

これをGuzzleで実行したいわけです

Guzzleでのやり方

$client = new \GuzzleHttp\Client();
$response = $client->request(
    'GET',
    'https://api.hoge.com/rename/',
    [ 
        'auth' => [
            "api keyをここに書く",
            null,
        ],
    ]
);
 
// 結果を取得
$responseBody = $response->getBody()->getContents();

CurlのUオプション

今回必要になった-Uオプションは、「ユーザー名パスワード」という感じでキーに対して値を指定する形式です

ところが、今回のケースではセットする値がAPIキー1つしかありません

APIキーのようにセットする値が1つしかないときは、ユーザー名の方にセットするみたいです

なのでパスワード側の値をnullにしています