1.各位看官,我是orange小菜,初來紮道,不足之處還請赤腳。
2.我看過網上也有很多的資料,但是我還是想和大家分析一下我的想法和程式設計思想,互噴哦!
3.我先把我的代碼甩出來,供大家參考一下,挺醜的,别介意哦!
#!/usr/bin/python
import requests
import sys
import json
userID=sys.argv[1]
subject=sys.argv[2]
content=sys.argv[3]
corpid='CorpID' #此處為權限管理中每個組的ID,其實說就一個ID,全部相同的
corpsecret="CortSecret" #此處為權限管理中的密碼,其實嚴格來說是來區分其他組的ID
class WeiXin(object):
#初始化變量
def __init__(self,corpid,corpsecret):
self.corpid=corpid
self.corpsecret=corpsecret
#擷取token的值
def get_token(self):
url='https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid='+\
self.corpid+'&corpsecret='+self.corpsecret
get_data=requests.request("GET",url)
get_token=get_data.json()
token=get_token.get('access_token')
return token
#發送data,也就是推送到使用者
def send_data(self,user,subject,content):
access_token=self.get_token()
url='https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token='+\
access_token
send_data={
"touser": user, #這是指的是通信錄中不同組的使用者,當發送的使用者在組中無法找到,預設會向所有使用者發送
"toparty": 3, #這裡指的是通信錄中的組ID,
"msgtype": "text",
"agentid": 3, #這裡指的是應用,也就是消息管理,那些人可以收到本組資訊那些不可以
"text": {
"content": '{0}{1}{2}'.format(subject,content,user)
},
"safe": 0
}
data=json.dumps(send_data,ensure_ascii=False)
ret=requests.post(url,data=data)
print ret.json()
if '__main__'==__name__:
User=WeiXin(corpid,corpsecret)
User.send_data(userID,subject,content)
4.曾經走過的坑
(a) 權限問題,和兩個地方有關系,第一與應用中心的某個應用的可見範圍有關系;第二和設定裡面功能設定中的權限管理有關。
(b)微信的使用問題,第一要建個通信錄,找到正确的組ID,第二,應用中心agentid的建立并使用,第三,設定中分組要建立;
坑,解決掉就是路,解決不了還是坑。