これは一般的なエラーのようですが、すべてを試してみましたが、うまくいきません!
私のコードは現在次のようになっています。
$apikey = "XXXXXXXXX";
$search_url = "https://www.googleapis.com/shopping/search/v1/public/products?key=$apikey&country=US&q=$item_title&restrictBy=gtin&alt=json";
$response = file_get_contents($search_url);
urldecode から html_entity_decode/encode まで、見つけたほぼすべてのソリューションを試しましたが、それでも同じエラーが発生します。
file_get_contents(https://www.googleapis.com/shopping/search/v1/public/products?key=XXXXX&country=US&q=THESTRING&restrictBy=gtin&alt=json) failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request
ご覧のとおり、普通の & (アンパサンド) の代わりに &s を取得します。
同様の問題があったことを覚えています。問題は、文字列の先頭に「http://」がないことだけでした。しかし、ご覧のとおり、ここではそうではありません。
ありがとう!