【Laravel】楽天APIで商品情報を取得する方法

楽天APIで商品情報を取得します。

楽天のPHPSDKを利用します。
Laravel6での利用メモです。

Rakuten Webserviceでアプリを登録

https://webservice.rakuten.co.jp/

アプリ名とアプリURLが必要になります。

登録するとアプリケーションIDが発行されます。

SDKをインストール

楽天が提供しているSDKをインストールします。 composerに登録されているのでcomposerコマンドでインストールできます。

$ composer require rakuten-ws/rws-php-sdk

APIにアクセス

use RakutenRws_Client;

//省略

public function getRakutenItems()
    {
        $client = new RakutenRws_Client();
        // アプリID (デベロッパーID) をセットします
        $client->setApplicationId('YOUR_APPLICATION_ID');

        // アフィリエイトID をセットします(任意)
        $client->setAffiliateId('YOUR_AFFILIATE_ID');

        // IchibaItem/Search API から、keyword=うどん を検索します
        $response = $client->execute('IchibaItemSearch', array(
          'keyword' => 'うどん'
        ));

        // レスポンスが正しいかを isOk() で確認することができます
        if (! $response->isOk()) {

            return'Error:'.$response->getMessage();

        } else {
            $items = array();

            foreach ($response as $key => $rekutenItem) {
                // 利用データを配列に代入
                $items[$key]['title'] = $rekutenItem['itemName'];
                $items[$key]['price'] = $rekutenItem['itemPrice'];
                if($rekutenItem['imageFlag']) {
                    $imgSrc = $rekutenItem['mediumImageUrls'][0]['imageUrl'];
                    $items[$key]['img_src'] = preg_replace('/^http:/', 'https:', $imgSrc);
                }

            }
            // return response()->json($response->getData()); 
            return $items;
        }
    }

リクエスト制限は1秒1回

リクエストの制限は1秒1回までです。
参考

それ以上を求める場合は申請し、承認される必要があります。
参考