日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java中对接钉钉API获取数据流程

發布時間:2025/3/19 java 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java中对接钉钉API获取数据流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

場景

需要做后臺管理系統,接入釘釘API獲取人員、考勤、審批等相關數據。

實現

釘釘開放平臺應用開發文檔

https://developers.dingtalk.com/document/app

首先需要聯系釘釘的管理員,登錄釘釘的后臺,然后按照開發平臺的文檔指示

首先創建應用

?

然后填寫應用的基本信息

?

讓管理員創建應用的目的就是為了獲取下面這兩個AppKey和AppSecret

?

使用管理員登錄釘釘管理平臺并創建應用后,就是為了獲取上面的AppKey和AppSecret,然后拿著這兩個調用釘釘的接口,釘釘會返回token

調用其他的接口需要使用這個token。

注:

博客主頁:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。

然后在權限管理里面需要設置此應用有哪些權限

?

默認只有登錄權限和消息通知的權限,然后可以在添加接口權限中添加需要用到的權限

?

選擇完成之后點擊確認。

Java開發流程

釘釘官方提供了統一的SDK,使用SDK可以便捷地調用服務端API。

?

下載之后將服務端sdk引入到項目中

?

在釘釘開放平臺-開發工具-服務端API調試工具-API Explorer中可以直接將上面的兩個AppKey和AppSecret復制過來然后選擇語言進行調用

?

比如在Java中調用獲取token的接口示例代碼為

??? public String getToken() throws ApiException {DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");OapiGettokenRequest req = new OapiGettokenRequest();req.setAppkey("釘釘后臺應用的AppKey");req.setAppsecret("釘釘后臺應用的Appsecret");req.setHttpMethod("GET");OapiGettokenResponse rsp = client.execute(req);System.out.println(rsp.getBody());return rsp.getAccessToken();}

然后獲取token之后就可以使用這個token去訪問釘釘的其他接口

比如通訊錄管理下的部門管理中獲取部門列表的接口,在中間按照要求填入參數,則在右邊就會生成相關代碼

?

示例代碼

public class Main {public static void main(String[] args) {try {DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/department/list");OapiDepartmentListRequest req = new OapiDepartmentListRequest();req.setLang("zn_CN");req.setFetchChild(false);req.setId("1");req.setHttpMethod("GET");OapiDepartmentListResponse rsp = client.execute(req, "dsfsfdsfgs你獲取的token");System.out.println(rsp.getBody());} catch (ApiException e) {e.printStackTrace();}} }

其他釘釘的API接口的訪問流程類似。

其他

1.因為釘釘對接口訪問的API的頻率等有限制,建議在定時任務里調用釘釘相關接口,將數據獲取并存儲到自己的數據庫中進行查詢。

2.因為補卡機制,所以如果要獲取考勤數據的話,比如允許補卡3天內的考勤數據,那么每天獲取前四天的數據并進行覆蓋

3.如果在調用接口時出現如下提示:

請求的部門id不在授權范圍內

?

聯系釘釘管理員登錄后臺,找到應用下的權限管理

?

把這里的權限范圍改為全部員工

4.另外,釘釘要求訪問其接口的ip地址必須提前配置,在開發管理里面的服務器出口ip

?

釘釘只允許在這里配置ip的服務器去調用其接口

如果在開發接口使用自己的電腦調用時,需要獲取公網的服務器ip,瀏覽器百度Ip獲取代理商的ip

?

不過這個ip會頻繁改變,一旦請求接口出現ip不在白名單的情況,就要去重新查詢,然后重新配置出口Ip。

所以建議將定時任務寫好,直接將取數據的環節部署在公網服務器上,并配置服務器出口ip,這個ip可以設置多個,用逗號隔開。

總結

以上是生活随笔為你收集整理的Java中对接钉钉API获取数据流程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。