[英]iOS - ID of nearby Places with Google Places API export to database
[英]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.