Closed4

楽天市場商品検索APIのエンドポイントが変わるらしいので修正しているが、403エラーになる

kaka
            $baseUrl = 'https://openapi.rakuten.co.jp/ichibams/api/IchibaItem/Search/20220601';
            
            $parameters = [
                'format' => 'json',              
                'formatVersion' => 2,
                'applicationId' => $this->applicationId,
                'accessKey' => $this->accessKey,
                'affiliateId' => $this->affiliateId,
                'keyword' => $productName, 
                'hits' => 1,                  
                'sort' => '-reviewCount', 
            ];

            // 楽天商品検索APIにリクエストを送信(Refererヘッダー+タイムアウト10秒)
            $response = Http::timeout(10)
                ->withHeaders([
                    'Referer' => 'https://sample.com',
                ])
                ->get($this->baseUrl, $parameters);
                
            $responseData = $response->json();
kaka

リファラが問題みたいだけど解決方法がわからない

{"errors":{"errorCode":403,"errorMessage":"REQUEST_CONTEXT_BODY_HTTP_REFERRER_MISSING"}}
kaka

RefererじゃなくてOriginにしたらいけた

            $response = Http::timeout(10)
                ->withHeaders([
+                   'Origin' => 'https://sample.com',
-                   'Referer' => 'https://sample.com',
                ])
                ->get($this->baseUrl, $parameters);
1
このスクラップは5ヶ月前にクローズされました