使用kotlin獲取企業微信access_token
初學kotlin很多方法都不是很熟悉,遇到一些問題百度查資料也花費了很多時間,其中就有呼叫企業微信api時遇到的問題,特記錄下來,以免忘記
1.需要的引數
想要使用企業微信的api,需要企業微信中的企業ID :corpid;需要呼叫的應用的憑證密匙:corpsecret(注意:secret是企業應用里面用于保障資料安全的“鑰匙”,每一個應用都有一個獨立的訪問密鑰,為了保證資料的安全,secret務必不能泄漏,)
2.獲取access_token的地址
參考:獲取access_token
請求方式: GET(HTTPS)
請求地址: https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET
回傳結果:
{
"errcode": 0,
"errmsg": "ok",
"access_token": "accesstoken000001",
"expires_in": 7200
}
具體實作
fun getAccessToken(): String? {
//企業微信企業ID
val wxId : String = "企業微信企業ID"
//應用secret
val secret : String = "應用secret"
//獲取access_token的url
val url : String = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET"
.replace("ID", wxId)
.replace("SECRET", secret)
//獲取access_token
val responseEntity : ResponseEntity<WXWorkAccessToken> = RestTemplate().getForEntity(url, WXWorkAccessToken().javaClass)
if (responseEntity.statusCode == HttpStatus.OK){
val wxwat : WXWorkAccessToken = responseEntity.body
if (wxwat.errcode == 0){
return wxwat.access_token
}
}
throw RuntimeException("獲取微信token失敗")
}
代碼實作參考:企業微信流程審批開發
注意事項
1.kotlin中無法呼叫RestTemplate方法
如遇到這樣的問題,可以看看依賴包,maven或者gradle中是否引入spring-web依賴jar包
<!--gradle-->
implementation group: 'org.springframework', name: 'spring-web', version: '5.3.9'
<!--maven-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.3.9</version>
</dependency>
2.執行成功后沒有回傳值

出現這種情況的原因為:

回傳引數與接受引數不一致導致,將接收引數更改為與回傳引數一致即可接受到資料
注:access_token很重要,注意不要泄漏
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/289636.html
標籤:其他
上一篇:Android基礎到進階UI CheckedTextView 使用+實體
下一篇:Android之解決NestedScrollView嵌套RecyclerView部分手機回傳到這個頁面Recyclerview頂部,而不是頁面NestedScrollView頂部
