我正在訪問Google API以獲取一些地理位置。
端點看起來像這樣:
https://maps.googleapis.com/maps/api/geocode/xml?address=84100 ORANGE FR&key=apikey
如果我在Chrome瀏覽器中打開此鏈接,API將返回一些資料。
如果我使用file_gets_content或simplexml_load_file來存取它,它將傳回「零結果」。
經過一些測試,我發現我可以在Chrome上看到結果,因為瀏覽器本身設定為義大利語。如果我將其設為英語,它將返回“零結果”,與PHP相同。
如何在PHP中獲得與Chrome相同的結果?
P粉9967633142023-09-15 16:03:36
我實際上在這裡找到了問題。
基本上,當我將Chrome設定為義大利語時,它可能重新排列了參數的順序,並傳回了不同的結果。
實際的問題在於地址參數,其中城市在郵編之前。
另外,新增參數&language=it可能出於同樣的原因而運作。
因此,正確的URL應該是
https://maps.googleapis.com/maps/api/geocode/xml?address=ORANGE 84100 FR&key=apikey
我花了太多時間來調試這個問題。