python调用钉钉API发送消息
生活随笔
收集整理的這篇文章主要介紹了
python调用钉钉API发送消息
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
#!/usr/bin/env?python
#?-*-?coding:?utf-8?-*-
#?2017-8-20?釘釘API發(fā)送消息import?urllib,?urllib2
import?requests
import?json
import?os
import?sys'''
釘釘管理后臺?:?http://open-dev.dingtalk.com
CorpId???????:?企業(yè)應用ID
secrect??????:?corpSecret管理列表下面?企業(yè)應用的憑證密鑰
'''
corpid?=?''
secrect?=?''#獲取access_token
def?getToken():url??????????=?'https://oapi.dingtalk.com/gettoken?corpid=%s&corpsecret=%s'?%?(corpid,?secrect)req??????????=?urllib2.Request(url)result???????=?urllib2.urlopen(req)access_token?=?json.loads(result.read())return?access_token['access_token']#默認情況下第一次創(chuàng)建群組?并獲取群組id?chatid并寫入文件里
def?getChatid(access_token):file_name?=?"/tmp/.chatid"?#判斷群組id文件是否存在if?not?os.path.exists(file_name):url?=?'https://oapi.dingtalk.com/chat/create?access_token=%s'?%?access_token'''name?:?群組名字owner:?群主useriduseridlist:?群成員userId列表?也可以寫群主userid'''data?=?{"name":?"test1","owner":?"manager302","useridlist":?["manager302"]}data???=?json.dumps(data)req????=?requests.post(url,?data)chatid?=?json.loads(req.text)['chatid']with?open(file_name,'w')?as?fd:fd.write(chatid)else:with?open(file_name)?as?fd:chatid?=?fd.read()return?chatid#access_token?訪問令牌?chatid?群組id?content?發(fā)送的內(nèi)容
def?tonews(access_token,?chatid,?content):'''chatid??:?群組idmsgtype?:?類型content?:?內(nèi)容'''url????=?"https://oapi.dingtalk.com/chat/send?access_token=%s"?%?access_tokenmsgtype?=?'text'values??=?{"chatid":?chatid,"msgtype":?msgtype,msgtype:?{"content":?content}}values?=?json.dumps(values)data???=?requests.post(url,?values)errmsg?=?json.loads(data.text)['errmsg']if?errmsg?==?'ok':return?"ok"return?"fail:?%s"?%?data.textif?__name__?==?'__main__':access_token?=?getToken()chatid?=?getChatid(access_token)content?=?'\\\\\\\\n'.join(sys.argv[1:])if?not?content:content?=?'測試'print?tonews(access_token,?chatid,?content)
[root@tieba ~]# python dingding.py 123 測試測試 測試測試
轉(zhuǎn)載于:https://blog.51cto.com/xiaocuik/1969873
總結
以上是生活随笔為你收集整理的python调用钉钉API发送消息的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅析Java线程池 ExecutorSe
- 下一篇: 艺术畅游的正确泳姿