ali-sdk/node-dingtalk

Name: node-dingtalk

Owner: ali-sdk

Description: node sdk for dingtalk

Created: 2016-08-03 01:43:42.0

Updated: 2018-01-02 12:21:05.0

Pushed: 2018-01-13 12:59:20.0

Homepage: null

Size: 48

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

node-dingtalk - ??SDK

NPM version build status Test coverage David deps Known Vulnerabilities npm download

Install
m i node-dingtalk --save
Usage
t DingTalk = require('node-dingtalk');
t dingtalk = new DingTalk({
rpid: '',
rpsecret: '',


t deparment = dingtalk.department.get('1');
ole.log(deparment);
Cache example

cluster ??? Redis ??????????? AccessToken ??

t CACHE = {};
t cache = {
t(key) {
if (CACHE[key] && (CACHE[key].expired > Date.now())) {
  return CACHE[key].value;
} else {
  return null;
}

t(key, value, maxAge) {
const obj = {
  expired: maxAge,
  value,
};    
CACHE[key] = obj;
return obj;



onst redis = new Redis();
onst cache = {
 * get(key) {
   return redis.get(key)
 },
 * set(key, value, maxAge) {
   return redis.set(key, value, 'PX', maxAge - Date.now());
 },
;

t DingTalk = require('node-dingtalk');
t dingtalk = new DingTalk({
rpid: '',
rpsecret: '',
che,

Api

????: https://open-doc.dingtalk.com/

Client
client.getAccessToken()

?? AccessToken, ??????????, gettoken

client.getJSApiTicket()

?? jsapi_ticket, ??????????, get_jsapi_ticket

client.getJSApiConfig()

?? js api ??????????????

client.request/get/post/upload

????, ?? npm urllib

Department

https://open-doc.dingtalk.com/doc2/detail.htm?treeId=172&articleId=104979&docType=1

department.list([opts])

?????? department/list

department.get(id)

?????? department/get

department.create({ name, parentid, ? })

???? department/create

department.update({ id, ? })

???? department/update

department.delete(id)

???? department/delete

User

https://open-doc.dingtalk.com/doc2/detail.htm?treeId=172&articleId=104979&docType=1

user.list(departmentId, [isSimple], [opts])

???????? opts

user.listAll([departmentId], [isSimple], [opts])

????????

user.get(id, [opts])

?????? user/get

id ??? userid, ??, ?????? opts

user.create({ userid, name, department[], mobile, ? })

???? user/create

user.update({ userid, name, ? })

???? user/update

user.delete(id/id[]) user.getUseridByUnionid(openId)

?? unionid ????? userid, user/getUseridByUnionid

??? unionid ?? user.openId

user.getByMobile(mobile)

????????? userid, user/get_by_mobile

Message
message.send({ touser, toparty, msgtype, … })

??????, message/send

message.listMessageStatus(messageId)

??????????????, message/list_message_status

Media
media.upload(type, filePath)

?????? media/upload

media.download(id, targetDir, [fileName])

?????? media/downloadFile

Questions & Suggestions

Please open an issue here.

License

MIT


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.