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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

5分钟快速接入钉钉实现钉钉考勤

發布時間:2023/12/4 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 5分钟快速接入钉钉实现钉钉考勤 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、前言

由于今年疫情影響,假期的無限延長讓大家都不得不進行線上辦公,說到線上辦公就毫無疑問,釘釘是這個疫情假期最大的贏家,APP的火熱程度以及下載量甚至壓過了微信,躍居App store免費排行榜第1名的位置。
最早我們知道釘釘,是因為辦公需求,我們主要在人員管理/考勤打卡/日常交流/移動審批等日常工作。但你怎么也想不到,釘釘廣泛被大家所知,是因為小學生們的一星差評…..既然釘釘火了,所以就有了這篇文章的到來,讓大家快速的接入釘釘,來幫助企業內部線上交流、考勤打卡、移動審批等,這次我先快速簡述下對接釘釘組織架構和對接釘釘考勤

二、對接釘釘組織架構

廢話不多說,直接開擼!
思路分析:大家都知道對接外部應用肯定需要授權,拿到授權后就基本就可以為所欲為了,所以第一步就是拿授權(令牌token)
1.登陸釘釘官網:https://ding-doc.dingtalk.com/
2.進入開發者后臺,如圖點擊后掃碼登陸(如何在釘釘上創建企業這里就不說了,直接度娘~我這里已經創建了自己名下的測試企業)


3.釘釘開發者后臺拿CorpId和SSOSecret(寫的時候發現企業獲取釘釘令牌的方式釘釘已經更新了,所以建議用新的授權方式?)。?我這里就按新的推薦方式拿appKey和appSecret,
詳細獲取方法:https://ding-doc.dingtalk.com/doc#/serverapi2/eev437 。如下圖就已經拿到

4.使用appKey和appSecret獲取?access_token?,正常情況下access_token有效期為7200秒,有效期內重復獲取返回相同結果,并自動續期。
大家各自用自己的開發語言(?php是世界上最好的語言?)進行調用,這里我直接用postman演示:

請求方式:GET(HTTPS)請求地址:https://oapi.dingtalk.com/gettoken?appkey=上面拿的;appsecret=上面拿的

第二步同步企業部門到釘釘組織架構

請求方式:POST(HTTPS)請求地址 :https://oapi.dingtalk.com/department/create?access_token=ACCESS_TOKEN

請求包結構體?:

{"name": "helloworld","parentid": "1","order": null,"createDeptGroup": true,"deptHiding": false,"deptPerimits": null,"userPerimits": null,"outerDept": false,"outerPermitDepts": null,"outerPermitUsers": null,"soureIdentifier": null,"id": null}

參數說明:

這里我創建一個helloworld部門,調用如下:


創建完后,我們去釘釘的通訊錄看看,可以看到釘釘組織架構已經發生了變化,在測試企業下面新增的剛才的helloworld部門,看下圖:


上述,我們就有了釘釘部門新增的接口,那就簡單了,寫幾行代碼將企業的部門組織架構讀取然后進行依次調用接口創建部門,就完成了部門同步釘釘的目的。

//部門更新接口https://oapi.dingtalk.com/department/update?access_token=ACCESS_TOKEN//部門刪除接口https://oapi.dingtalk.com/department/delete?access_token=ACCESS_TOKEN&id=ID

第三步同步企業員工到釘釘通訊錄中

請求方式:POST(HTTPS)請求地址:https://oapi.dingtalk.com/user/create?access_token=ACCESS_TOKEN

請求包結構體:

{"userid": "fuleli","name": "福樂里","orderInDepts" : "","department": [371046100],"position": "狗產品","mobile": "15172391968","tel" : "xxxx-xxxxxxxx","workPlace" :"","remark" : "","email": "test@xxx.com","orgEmail": "test@xxx.com","jobnumber": "xxx","isHide": false,"isSenior": false,"extattr": {"愛好":"旅游","年齡":"24"}}

參數說明(如果非必須的字段未指定,則釘釘后臺不改變該字段之前設置好的值)

直接用postman進行調用:

新增完后我們去釘釘組織架構查看,發現已經新增了福樂里的員工


同理,后面就簡單了,寫幾行代碼將員工的信息依次調用員工新增接口即可,下面為需要用到的接口

//獲取部門列表https://oapi.dingtalk.com/department/list?access_token=ACCESS_TOKEN//員工更新接口https://oapi.dingtalk.com/user/update?access_token=ACCESS_TOKEN//員工刪除接口https://oapi.dingtalk.com/user/delete?access_token=ACCESS_TOKEN&userid=zhangsan

三、對接釘釘考勤

有了員工數據后,就能獲取所有員工的考勤數據,在獲取考勤數據前,先設置下釘釘后臺的打卡設置,這里我就用默認設置,然后勾選了地點打卡和wifi打卡

然后我們使用手機在釘釘中進行打卡,可以看到29號那天打了2次卡:

我們直接開始用接口獲取:

請求方式:POST(HTTPS)請求地址:https://oapi.dingtalk.com/attendance/list?access_token=ACCESS_TOKEN

請求包結構體:

{"workDateFrom": "2020-06-29 00:00:00","workDateTo": "2020-07-03 00:00:00","userIdList":["manager962"],"offset":0,"limit":50}

參數說明:

直接使用postman請求

返回參數說明:

好了,自此為止,已經可以獲取到員工的打卡數據了,那我們就已經實現了接入釘釘實現考勤統計的核心工作了~

分享幾個采坑的問題!

  • 不能頻繁調用釘釘開放平臺接口!不能頻繁調用!不能頻繁調用?。之前發生過一次,接口全部返回錯誤,查了半天原因,最后發現是因為頻繁調用釘釘接口導致觸發了限流,直接被禁止調用..

  • 官方解釋如下:

  • 編輯員工信息同步至釘釘中時,如果入參數據中手機號有修改,則直接同步修改失敗。?因為釘釘的主鍵是手機號,所以通過API去修改員工信息時,如果手機號不一致就會 出現問題,所以如果需要通過釘釘接口去修改員工手機號時,正確順序是:刪除原手機號的員工-》新增新手機號的員工(一開始也是沒注意這塊,導致老是同步失敗)

  • 結尾

    最后說下:不要想著模擬定位打卡和用其他人手機代打卡,因為這樣是會被后臺監控到的,所以不要得嘗所失 !!!

    下期預告:5分鐘快速接入釘釘工作流

    總結

    以上是生活随笔為你收集整理的5分钟快速接入钉钉实现钉钉考勤的全部內容,希望文章能夠幫你解決所遇到的問題。

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