お世話になります。
Laravelでdmm-php-sdkを使いたいと思い、composerでインストールしました。
dmm-php-sdk: https://github.com/dmmlabo/dmm-php-sdk
使い方を参考にして、Laravelのコントローラーを作成。メソッドを追加してブラウザで表示したところ、エラーが発生しました。
php
1$dmm = new \Dmm\Dmm([ 2 "affiliate_id" => "YOUR-AFFILIATE-ID", 3 "api_id" => "YOUR-API-ID", 4]); 5 6// 商品検索APIを使用する場合 7$keyword = 'ナース'; 8$response = $dmm->api("product")->find(Dmm\Apis\Product::SITE_ADULT, [ 9 'keyword' => $keyword 10]); 11$result = $response->getDecodedBody(); 12print_r($result);
ブラウザで以下のエラーが表示される。
Error
1TypeError 2GuzzleHttp\Client::request(): Argument #3 ($options) must be of type array, string given, called in /work/vendor/guzzlehttp/guzzle/src/Client.php on line 92
Laravelにインストールせず、先程のphpファイルをターミナルから実行すると上手くデータが取得できます。
検証した所、使っているhttpクライアントに違いがあることがわかりました。
- ターミリストナルから実行:curl
- Laravelにインストールして実行:GuzzleHttp
そこで質問なのですが、
0. Laravelにインストールした場合、httpクライアントをcurlで実行する方法があるのか?
0. GuzzleHttpを正常に動作させる方法はあるのか?
0. なぜターミナルから実行されるとcurlを使い、Laravel上で使うとGuzzleHttpが使われるのか?
以上の3点について、ご回答いただけると幸いです。
単語や表現がおかしい部分があり、わかりづらいかもしれません。申し訳ありません。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/24 05:09