前言:
寫本篇文章是為連續(xù)調(diào)用web api 的應(yīng)用說明庇配。
連續(xù)請求在很多App中都經(jīng)常會被使用斩跌,例如通過定位獲得當(dāng)前定位城市的天氣預(yù)報,我們首先要通過Android為我們提供的Api調(diào)用GPS獲得我們當(dāng)前的經(jīng)緯度捞慌,然后將經(jīng)緯度轉(zhuǎn)換成具體的城市名稱耀鸦,再將城市名稱傳入獲取天氣預(yù)報的請求中。
附上百度web 接口說明
百度地圖web服務(wù)api
使用百度的對外開放的web api
百度地圖Web服務(wù)API為開發(fā)者提供http接口啸澡,即開發(fā)者通過http形式發(fā)起檢索請求袖订,獲取返回json或xml格式的檢索數(shù)據(jù)。用戶可以基于此開發(fā)JavaScript锻霎、C#著角、C++、Java等語言的地圖應(yīng)用旋恼。
在此使用到了百度的Geocoding Api
百度web Geocoding API
Geocoding API 是一類接口吏口,用于提供從地址到經(jīng)緯度坐標(biāo)或者從經(jīng)緯度坐標(biāo)到地址的轉(zhuǎn)換服務(wù),用戶可以使用C# 冰更、C++产徊、Java等開發(fā)語言發(fā)送請求且接收J(rèn)SON、XML的返回?cái)?shù)據(jù)蜀细。
json示例:
http://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location=39.983424,116.322987&output=json&pois=1&ak=您的ak
如:
返回結(jié)果:{“status”:102,”message”:”MCODE參數(shù)不存在舟铜,mobile類型mcode參數(shù)必需”}
原因是必須傳入mcode。 mcode參數(shù)就是安全碼奠衔,SHA1+包名
反Geocoding車聯(lián)網(wǎng)API
前面的web api 放回的數(shù)據(jù)太復(fù)雜谆刨,后來有發(fā)現(xiàn)了這個api
百度web 天氣查詢api
碰到的其他問題
在apk中調(diào)用發(fā)現(xiàn)錯誤(瀏覽器中調(diào)用正常)
{"status":220,"message":"APP Referer校驗(yàn)失敗"}
我在android apk中調(diào)用百度的web api老是報錯
錯誤內(nèi)容是:{"status":220,"message":"APP Referer校驗(yàn)失敗"}
在pc瀏覽器中調(diào)用正常;在手機(jī)瀏覽器中調(diào)用也正常归斤,就是在android 的app中調(diào)用老師報錯痊夭,求解答
網(wǎng)友解答
只有該白名單中的網(wǎng)站才能成功發(fā)起調(diào)用
格式:.mysite.com,myapp.com 多個域名之間請用英文半角逗號隔開
如果不想對任何域名做限制,設(shè)置為英文半角星號*
新申請的Mobile類型的ak與新申請的Browser類型的ak不再支持云存儲接口的訪問脏里,如要使用云存儲她我,請申請server類型ak
結(jié)果無論申請服務(wù)類型還是browser 類型都報錯
{"status":240,"message":"APP 服務(wù)被禁用"}