微信開發者遷移指南
如果你在使用微博粉絲服務平台之前,已經做過微信公眾平台的開發了,那麼強烈推薦閱讀本文檔,了解遷移過程中需要注意的細節問題;
#微博粉絲服務介面在設計初就考慮到了微信開發者的遷移問題,所以遷移成本並不高;但是開發者仍然需要針對以下三個區別做一定適配:
#區別一:申請訊息介面時,微信填Token,微博填Appkey
在申請訊息介面的時候,微博需要開發者填寫URL和Appkey,而微信則是要求開發者填寫URL和Token;
微信的Token是由開發者任意填寫的字符,僅用於「驗證URL有效性」使用;
而微博的Appkey則是由微博官方提供的,除了用於“驗證URL有效性”,還用於代表開發者身份;
在“驗證URL有效性”環節,開發者的Appkey所對應的AppSecret被用作生成signature簽名;換句話說,微博的signature字段加密流程和微信基本是一樣的,唯一的區別是微信加密用到的Token字段,微博是用AppSecret字段替代;
區別二:access_token產生方式不同,有效期限也不同
微信的access_token取得方式是透過公眾號的AppID和AppSecret呼叫對應介面來取得;
而微博的粉絲服務介面呼叫時的access_token憑證,是在申請訊息介面是時候,驗證URL成功後,粉服平台自動回傳的(如下圖);
另外,微博的粉絲服務介面的access_token憑證,還可以透過微博的OAuth2.0授權介面獲取,不過這個目前在開發中,暫未上線;
關於有效期,微信的access_token的有效期是為7200秒,需要開發者不斷去刷新; 但微博的粉絲服務介面的access_token憑證,有效期限為一年,開發者可以一年之後再找藍V帳號重新綁定或授權;
關於微博access_token的更多介紹可以參見:
# 區別三:介面參數有一定差異
1. 關於接收訊息和發送被動訊息兩個功能,微信是推送XML格式,微博預設是推送JSON格式,但微博針對微信XML格式也做了相容;
如果第三方開發者想使用微信XML相容格式,可以透過http://open.weibo.com/wiki/Eps/push/set_format 介面來切換自己需要的格式是XML還是JSON,更多詳情可以參考微信XML格式相容;
2. 關於傳送客服訊息功能,微信的呼叫參數是access_token,touser,msgtype和訊息內容,微博的對應參數是access_token,receiver_id,type和data欄位;文件裡面的id,source欄位主要用來支援舊版的粉絲服務,新接入的開發者請忽略之;
微博的發送客服訊息功能目前只支援純文本,圖文訊息和位置資訊三種類型的格式;