簡體   English   中英

從iOS應用程序內部調用Google Places / Nearby API

[英]Calling Google Places/Nearby API from inside an iOS App

我正在嘗試調用Google Places API,以返回附近的餐館列表。 當我從瀏覽器中調用它時,它工作正常。 但是,當我從使用Ionic Framework構建的iOS應用程序內部調用此函數時,它將失敗,並顯示數據NULL,狀態0錯誤。

我研究了很多,發現這是一個CORS問題。 我查閱了有關如何向iOS App發出GET請求的Google文檔。 我使用應用程序的捆綁軟件ID為應用程序創建密鑰和客戶端ID。 使用https://developers.google.com/accounts/docs/OAuth2InstalledApp#overview此處的步驟,我獲得了一個access_token,就像上面提到的文檔一樣,它被用作查詢參數。 什么都沒有。 怎么了?

在瀏覽器上可以使用的網址: https : //maps.googleapis.com/maps/api/place/nearbysearch/json?key=MyServerApplicationsKey&location=33.85463,-84.35870&rankby=distance&types=restaurant

從IOS應用程序失敗的URL: https : //maps.googleapis.com/maps/api/place/nearbysearch/json?key= MyiOSApplicationsKey&location = 33.85463,-84.35870&rankby = distance&types = restaurant&access_token =MyToken

@plexer我使用服務器密鑰從瀏覽器中調用URL。 如前所述,那行得通。 如果我使用此鍵,則從應用程序中收到以下錯誤:{“ data”:null,“ status”:0,“ config”:{“ method”:“ GET”,“ transformRequest”:[null],“ transformResponse“:[null],” url“:” sameUrlThatWorksOnBrowser“,” headers“:{” Accept“:” application / json,text / plain, / “}},” statusText“:”“}

Google Places API使用公共API訪問密鑰,而不是oAuth。 好消息是,這些入門起來非常簡單。

請按照此頁面上“身份驗證”部分下的說明創建新的“ 公共API”訪問密鑰 ,然后將該密鑰包含在應用程序的&key參數中。

單擊“創建新密鑰”按鈕后,選擇“服務器密鑰”。 有點奇怪,因為您是從iOS調用API的,但可以使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM