車聯網API網址:http://developer.baidu.com/map/carhome.htm
登錄http://lbsyun.baidu.com/apiconsole/key?application=key獲得密鑰
通過坐標取用戶位置(反Geocoding)http://api.map.baidu.com/telematics/v2/reverseGeocoding?location=116.305145,39.982368&ak=yourkey
測距http://api.map.baidu.com/telematics/v2/distance?waypoints=118.77147503233,32.054128923368;116.3521416286,39.965780080447&ak=yourkey
獲取經緯度http://www.gpsspg.com/maps.htm
天氣查詢http://api.map.baidu.com/telematics/v2/weather?location=北京&ak=yourkey
http://api.map.baidu.com/telematics/v2/weather?location=經度,緯度&ak=yourkey
查詢周邊商家http://api.map.baidu.com/telematics/v2/local?location=經度,緯度&keyword=類型&ak=yourkey&radius=半徑&number=10
導航地圖http://developer.baidu.com/map/uri.htm
http://api.map.baidu.com/direction?origin=latlan:34.264642646862,108.95108518068|name:我家&destination=大雁塔&mode=driving®ion=西安&output=html&src=yourCompanyName|yourAppName (mode可以為driving架車、transit公交、walking步行)
2、Google地圖API
https://developers.google.com/maps/?hl=zh-cn
申請密碼https://code.google.com/apis/console
經緯度解析http://maps.googleapis.com/maps/api/geocode/xml?latlng=23.416155105336312,116.6294002532959&sensor=false&language=zh-CN
測距/測時https://developers.google.com/maps/documentation/distancematrix/
http://maps.googleapis.com/maps/api/distancematrix/xml?origins=經度,緯度&destinations=經度,緯度&mode=walking&language=zh-CN&sensor=false
(origine起點、destinations終點、sensor感應器是否啟動gps、mode包含driving/walking/bicyilng、language語言、avoid避開highways高速tolls收費)
查詢周邊商家https://developers.google.com/places/
https://developers.google.com/places/documentation/search?hl=zh-CN
https://maps.googleapis.com/maps/api/place/search/xml?location=經度,緯度&radius=3000&sensor=false&key=yourkey&keyword=餐館&language=zh-CN
3、高德地圖API
http://code.autonavi.com/index
瀏覽器調用http://code.autonavi.com/URI/browser_guide
接口格式http://mo.amap.com/?from=經度,緯度&to=經度,緯度&type=0&opt=1&dev=1
4、小黃雞(試用每天只能調100次,30美元/10萬次調用)
http://developer.simsimi.com/api?lang=zh_CN
試用地址http://sandbox.api.simsimi.com/request.p (參數key密鑰、text用戶的問題、lc語言中文ch)
5、百度翻譯
http://developer.baidu.com/ms/translate
接口http://openapi.baidu.com/public/2.0/bmt/translate (參數from源碼語言ch中文、en英文、jp日語、auto自動)
http://openapi.baidu.com/public/2.0/bmt/translate?client_id=yourApiKey&q=關鍵詞&from=auto&to=auto
6、快遞查詢
申請KEY http://www.aikuaidi.cn/api/?type=1
http://www.aikuaidi.cn/rest/?key=參數&order=快遞單號&id=快遞拼音&ord=排序方式&show=
(圓通yuantong/申通shentong/EMSems/韻達yunda/順豐shunfeng,ord排序asc/desc,show可以為JSON/XML/HTML)
7、每日笑話(不限次數,不用申請KEY)
http://api.94qing.com/?type=joke&msg=
8、RSS訂閱
http://www.baidu.com/search/rss.html
9、刮刮樂(只是源碼地址,需要封裝管理程序)
http://kuro.tw/scratch.html
10、第三方接口
樂享微信http://www.wxapi.cn/ (收費,不開源)
365微服務http://www.weduty.com (收費,不開源)
賓果科技https://github.com/takura/WeChat4DiscuzX-Binguo (discuz論壇插件、名費、開源)
小I機器人http://www.xiaoi.com (智能聊天,收費,不開源)
V5智能客服http://www.v5kf.com (基礎免費、增值收費、不開源)
小九機器人http://www.xiaojo.com (免費、開源)
微擎http://www.we7.cc/ (免費、開源)
11、百度BAE以及新浪SAE
百度BAE http://developer.baidu.com/ (免費創建10個應用,每天200M免費流量,數據庫每月1G免費流量,緩存為memcache不免費1.6元/GB/天)
計費 http://developer.baidu.com/dev#/price/charge
新浪SAE http://sae.sina.com.cn/ (免費創建10個應用)
計費 http://sae.sina.com.cn/?m=devcenter&catId=155
12、WAP在線生成
http://siteapp.baidu.com/
13、百度應用中心
http://r2.mo.baidu.com/webapp_html.php?version=4_0&fn=webpage_flash
微信公眾平臺
強調信息流 既可以向微博一樣主要推送內容 也可以像10086一樣 根據用戶發來的消息進行智能回復 后臺可以實現某些功能.
詳解:
微信開放平臺也即open平臺,公眾平臺即是mp平臺,目前open 平臺是騰訊移動生活電商團隊——微生活在使用,以下是區別。
詳解微生活商家后臺與公眾平臺的區別
微信是騰訊近兩年崛起的一個新穎的語音溝通工具,隨著微信5.0內測版本的發布,掃描二維碼、條形碼、甚至街景的功能;搖一搖增加了視頻功能;公眾賬號分為企業賬號和訂閱賬號等最新變化的出現,使得微信“橫掃一切”“O2O神器”等標簽更加流行。而從去年開始流行的“微信掃描二維碼 免費獲得會員卡”的微生活團隊正是騰訊移動生活電商旗下的全新專注生活電子商務與O2O的解決方案提供商,大街小巷鋪滿商家二維碼掀起了全國范圍內的微信掃描風潮。據了解微生活有專門的商家后臺幫助商家解決CRM會員關系管理、精準營銷等問題,與微信的公眾平臺后臺有所區別,一下即是筆者總結的二者的一些區別和聯系。
1、 整體概覽
5.0之前的微信公眾平臺媒體屬性貌似更強一些,打開微信公眾平臺第一眼看見的就是實時消息。這里可以看到賬號當前增加了多少粉絲、有多少用戶留言。其次的重點就是開放接口,微信作為一個大的平臺需要給各位開發者以更多的方便,綠色的公眾平臺API文檔方便開發者直接點擊進入,高級功能中的開發模式更為開發者提供了廣闊的空間。
然而微生活商家后臺則沒有實時消息這個功能,因為用戶的留言都已經被商家的多客服系統處理完畢,這與微生活的泛會員管理與營銷平臺的定位有很大的關系,時時解決會員的問題,幫助用戶完成訂單、訂位、訂房等工作,甚至是陪用戶閑聊和調戲,實現用戶在移動端的良好體驗。總之,微生活商家后臺更適合商家去做CRM 管理和會員營銷。
從二者的首頁中筆者讀出一個趨勢——大數據管理,對于商家和媒體來說,數據管理必不可少,而從兩個平臺首頁明顯的數據折線圖來看,二者都focus 在大數據上。
微信開拓了一種語音溝通的新時尚,而騰訊微生活開拓了創新的富媒體會員營銷平臺,解決企業數據庫管理、會員關系管理、會員精準營銷等問題,為傳統商企打開了進軍移動互聯網的大門。
2、 首頁
微信公眾平臺功能模塊包括:首頁、實時消息、用戶管理、群發消息、素材管理、設置、高級功能。
打開微信公眾平臺即可看到實時消息、每日新增訂閱人數和每日接收消息數的曲線圖表,可以使得用戶時時把控每日情況,但是無法看到多日的消息對比。首頁右側是系統公告 ,公眾平臺接口更新等通知。微信未來要做的是個平臺,開放平臺,首頁的公告是為微信的開發者進行更多的指引。
微生活商家后臺功能模塊包括:首頁、會員、交易、消息、活動、設置 。
打開微生活商家后臺首先看到的是會員趨勢圖,包括新增總量、線下掃碼增量、線上傳播新增量等分類,這比微信公眾平臺的的會員增長圖坐標要復雜一些。因為微生活會員卡是用戶通過打開微信掃描二維碼后,獲得的一張存在于微信中的虛擬會員卡,而二維碼可以存在在海報、桌貼、宣傳冊等線下物料上,也可以放置在微博、微信、論壇、網站等線上渠道。微生活首頁右側呈現的是今日和昨日的新增會員和交易次數、會員帶動交易額。這與微生活致力于成為傳統商企精準的泛會員管理與營銷平臺有著很大的關系,商家人員登錄商家后臺可以清楚明了的看到自家店面的整體銷售情況和會員增長情況,時時把控商機和運營情況。
注冊完成,審核認證完,就可以開始玩了
1.如何成為開發者?
需要填寫接口配置信息,需要自己的服務器資源,一般自己沒有服務器,所以可以采用云服務器,例如BAE,SAE,阿里云服務器。這里用BAE
2.打開百度開放云平臺官網,注冊,登陸,點擊開發者服務管理
2.1.點擊“創建工程”
填寫工程相關信息,應用名稱自定義,類型選擇java-tomcat,域名唯一,代碼管理工具選擇svn 到這里,bae應用創建完了.
3.現在來實現TOKEN驗證的代碼部分
3.1.創建一個Java web工程,我用的是MyEclipse8.5,工程名稱為voastudy,點擊Finish完成。
3.2.新建一個servlet,這里是CoreServlet,點擊Next.
3.3.勾選創建web.xml,以及配置servlet,這里的路徑很關鍵,這是去請求servlet里的方法
3.4.實現驗證TOKEN方法,微信公眾平臺提供的是PHP的實例代碼.但其驗證本質是一樣的,都是要經過排序,sha1加密進行比較。請參考下面的代碼。這是CoreServlet.java類.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 |
package wx.sunl.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import wx.sunl.util.SignUtil; @SuppressWarnings ( "serial" ) public class CoreServlet extends HttpServlet { public CoreServlet() { super (); } public void destroy() { super .destroy(); } /** * 驗證url和token */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 微信加密簽名 String signature = request.getParameter( "signature" ); // 時間戮 String timestamp = request.getParameter( "timestamp" ); // 隨機數 String nonce = request.getParameter( "nonce" ); // 隨機字符串 String echostr = request.getParameter( "echostr" ); PrintWriter out = response.getWriter(); // 通過檢驗 signature 對請求進行校驗,若校驗成功則原樣返回 echostr,表示接入成功,否則接入失敗 if (SignUtil.checkSignature(signature, timestamp, nonce)){ out.print(echostr); } out.close(); out = null ; } /** *用戶向公眾平臺發信息并自動返回信息 */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } public void init() throws ServletException { } } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 |
package wx.sunl.util; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Arrays; public class SignUtil { /** * 與接口配置信息中的 token 要一致,這里賦予什么值,在接口配置信息中的Token就要填寫什么值, * 兩邊保持一致即可,建議用項目名稱、公司名稱縮寫等,我在這里用的是項目名稱weixinface */ private static String token = "weixintest" ; /** * 驗證簽名 * @param signature * @param timestamp * @param nonce * @return */ public static boolean checkSignature(String signature, String timestamp, String nonce){ String[] arr = new String[]{token, timestamp, nonce}; // 將 token, timestamp, nonce 三個參數進行字典排序 Arrays.sort(arr); StringBuilder content = new StringBuilder(); for ( int i = 0 ; i < arr.length; i++){ content.append(arr[i]); } MessageDigest md = null ; String tmpStr = null ; try { md = MessageDigest.getInstance( "SHA-1" ); // 將三個參數字符串拼接成一個字符串進行 shal 加密 byte [] digest = md.digest(content.toString().getBytes()); tmpStr = byteToStr(digest); } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); } content = null ; // 將sha1加密后的字符串可與signature對比,標識該請求來源于微信 return tmpStr != null ? tmpStr.equals(signature.toUpperCase()): false ; } /** * 將字節數組轉換為十六進制字符串 * @param digest * @return */ private static String byteToStr( byte [] digest) { // TODO Auto-generated method stub String strDigest = "" ; for ( int i = 0 ; i < digest.length; i++){ strDigest += byteToHexStr(digest[i]); } return strDigest; } /** * 將字節轉換為十六進制字符串 * @param b * @return */ private static String byteToHexStr( byte b) { // TODO Auto-generated method stub char [] Digit = { '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , 'A' , 'B' , 'C' , 'D' , 'E' , 'F' }; char [] tempArr = new char [ 2 ]; tempArr[ 0 ] = Digit[(b >>> 4 ) & 0X0F ]; tempArr[ 1 ] = Digit[b & 0X0F ]; String s = new String(tempArr); return s; } } |
4.代碼已經寫完了,現在來提交代碼到svn.如果沒有svn客戶端工具,那首先下載(svn版本工具)安裝。打開svn
4.1.這里的url去百度開放云平臺去這里復制
4.2.粘貼url,打開svn,會看到服務器的2個文件
4.3.代碼提交到svn 首先刪掉root.war
4.4.java web工程打包成war包,取名ROOT.war,然后提交到svn
4.5.然后將這個war包提交到svn
4.6.如果提交成功了,百度開放云平臺會檢測到有新版本產生,選中應用,點擊“發布設置”
4.7.發布新版本
5.發布成功后,測試是否部署成功?
5.1.如果看到這個,離成功只差一步啦。<喎?"http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20140510/2014051009050433.jpg" alt="\">
5.5.在域名后邊加上請求我們剛剛servlet的請求路徑,上邊的例子是/CoreServlet,如果報505錯誤(why?因為那幾個參數都是空的),說明部署成功了
6.最后一步,填寫Url 和 Token來驗證 成為開發者。Url:百度應用的域名+請求servlet的路徑例如:http://weixintest11.duapp.com/CoreServlet.Token是在程序中自定義的值(在SignUtil.java中定義)
歡迎吐槽!!!