最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何利用python給微信公眾號(hào)發(fā)消息實(shí)例代碼

 更新時(shí)間:2022年03月28日 10:37:36   作者:felix_yujing  
使用過微信公眾號(hào)的小伙伴應(yīng)該知道微信公眾號(hào)有時(shí)候會(huì)給你推一些文章,當(dāng)你選擇它的某個(gè)功能時(shí),它還會(huì)返回一些信息,下面這篇文章主要給大家介紹了關(guān)于如何利用python給微信公眾號(hào)發(fā)消息的相關(guān)資料,需要的朋友可以參考下

現(xiàn)在通過發(fā)微信公眾號(hào)信息來做消息通知和告警已經(jīng)很普遍了。最常見的就是運(yùn)維通過zabbix調(diào)用shell腳本給微信發(fā)消息,起到告警的作用。當(dāng)要發(fā)送的信息較多,而且希望按照指定格式顯示的好看一點(diǎn)的時(shí)候,shell處理起來,個(gè)人感覺不太方便。于是我用python重寫了發(fā)微信的功能。

#coding:utf-8
import urllib2
import json
import sys

def getMsg():
    #為了避免發(fā)送中文消息報(bào)錯(cuò),使用utf8方式編碼
    reload(sys)
    sys.setdefaultencoding('utf8')
    #這個(gè)方法生成想要發(fā)送的消息
    msg = '''
要發(fā)送的消息1
要發(fā)送的消息2
要發(fā)送的消息3
...
'''
    return msg

if __name__ == '__main__':
    #微信公眾號(hào)上應(yīng)用的CropID和Secret
    CropID='xxxxxxxxxxxxxxxxxx'
    Secret='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

    #獲取access_token
    GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s" % (CropID,Secret)
    result=urllib2.urlopen(urllib2.Request(GURL)).read()
    dict_result = json.loads(result)
    Gtoken=dict_result['access_token']

    #生成通過post請(qǐng)求發(fā)送消息的url
    PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % Gtoken

    #企業(yè)號(hào)中的應(yīng)用id
    AppID=1
    #部門成員id,微信接收者
    UserID=1
    #部門id,定義可接收消息的成員范圍
    PartyID=1

    #生成post請(qǐng)求信息
    post_data = {}
    msg_content = {}
    msg_content['content'] = getMsg()
    post_data['touser'] = UserID
    post_data['toparty'] = PartyID
    post_data['msgtype'] = 'text'
    post_data['agentid'] = AppID
    post_data['text'] = msg_content
    post_data['safe'] = '0'
    #由于字典格式不能被識(shí)別,需要轉(zhuǎn)換成json然后在作post請(qǐng)求
    #注:如果要發(fā)送的消息內(nèi)容有中文的話,第三個(gè)參數(shù)一定要設(shè)為False
    json_post_data = json.dumps(post_data,False,False)

    #通過urllib2.urlopen()方法發(fā)送post請(qǐng)求
    request_post = urllib2.urlopen(PURL, json_post_data)
    #read()方法查看請(qǐng)求的返回結(jié)果
    print request_post.read()

追加:企業(yè)公眾號(hào)]升級(jí)到[企業(yè)微信]之后發(fā)送消息失敗

最近,看到消息,說是微信把企業(yè)公眾號(hào)升級(jí)到企業(yè)微信。當(dāng)時(shí)并沒有在意,但是后來發(fā)現(xiàn)之前用企業(yè)公眾號(hào)的接口來發(fā)通知消息的程序發(fā)不出去消息了。

于是,我又打開升級(jí)消息,仔細(xì)的讀了一下:企業(yè)號(hào)將遷移至企業(yè)微信管理后臺(tái)(work.weixin.qq.com/login)進(jìn)行統(tǒng)一管理。之前企業(yè)公眾號(hào)的管理后臺(tái)地址是qy.weixin.qq.com,發(fā)不了消息難道是接口地址也變了嗎。

登到新后臺(tái)看了下,發(fā)現(xiàn)應(yīng)用的Secret值變了,相比之前位數(shù)要少一些。將代碼中的Secret值替換成新的之后,發(fā)現(xiàn)還是不行。debug看了下,在用post請(qǐng)求調(diào)用接口發(fā)消息的時(shí)候報(bào)錯(cuò):{“errcode”:-1,”errmsg”:”Invalid input”}。分析原因可能有兩個(gè):調(diào)用的發(fā)消息接口地址不對(duì)了;或者,傳的post參數(shù)的格式不對(duì)了。

還好,在其官網(wǎng)上找到了企業(yè)微信的API說明文檔:https://work.weixin.qq.com/api/doc ,上面有較詳細(xì)的使用說明。經(jīng)確認(rèn),調(diào)用接口的url地址并沒有變(發(fā)送消息還是用https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN)。但是發(fā)現(xiàn)文本消息的格式有點(diǎn)不一樣,官網(wǎng)示例如下:

    {
       "touser" : "UserID1|UserID2|UserID3",
       "toparty" : " PartyID1|PartyID2 ",
       "totag" : " TagID1 | TagID2 ",
       "msgtype" : "text",
       "agentid" : 1,
       "text" : {
           "content" : "你的快遞已到,請(qǐng)攜帶工卡前往郵件中心領(lǐng)取。\n出發(fā)前可查看<a href=\"http://work.weixin.qq.com\">郵件中心視頻實(shí)況</a>,聰明避開排隊(duì)。"
       }
    }

上面的UserID、PartyID這些應(yīng)該我之前都是當(dāng)數(shù)值傳的,但示例上是放在引號(hào)里面的,那就是被當(dāng)做字符串了。于是,我把代碼也改成按字符串的方式試了下,結(jié)果可以了。。。

總結(jié)

到此這篇關(guān)于如何利用python給微信公眾號(hào)發(fā)消息的文章就介紹到這了,更多相關(guān)python給微信公眾號(hào)發(fā)消息內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解python中的 is 操作符

    詳解python中的 is 操作符

    is 操作符是Python語言的一個(gè)內(nèi)建的操作符。它的作用在于比較兩個(gè)變量是否指向了同一個(gè)對(duì)象。下面通過本文給大家詳細(xì)介紹python中的 is 操作符,需要的朋友參考下吧
    2017-12-12
  • Python+PyQt5實(shí)現(xiàn)數(shù)據(jù)庫表格動(dòng)態(tài)增刪改

    Python+PyQt5實(shí)現(xiàn)數(shù)據(jù)庫表格動(dòng)態(tài)增刪改

    這篇文章主要為大家介紹如何利用Python中的PyQt5模塊實(shí)現(xiàn)對(duì)數(shù)據(jù)庫表格的動(dòng)態(tài)增刪改,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-03-03
  • Python代碼注釋規(guī)范代碼實(shí)例解析

    Python代碼注釋規(guī)范代碼實(shí)例解析

    這篇文章主要介紹了Python代碼注釋規(guī)范代碼實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • OpenCV學(xué)習(xí)方框?yàn)V波實(shí)現(xiàn)圖像處理代碼示例

    OpenCV學(xué)習(xí)方框?yàn)V波實(shí)現(xiàn)圖像處理代碼示例

    這篇文章主要為大家介紹了OpenCV學(xué)習(xí)如何使用方框?yàn)V波實(shí)現(xiàn)對(duì)圖像處理代碼示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-10-10
  • Python中類的mro與繼承關(guān)系詳解(二)

    Python中類的mro與繼承關(guān)系詳解(二)

    這篇文章主要介紹了Python中類的mro與繼承關(guān)系詳解,上一篇我們已經(jīng)通過mro相關(guān)資料介紹了mro繼承關(guān)系的基礎(chǔ)內(nèi)容,這片緊接著上一篇文章展開詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2022-07-07
  • 使用Python編寫一個(gè)桌面便簽應(yīng)用

    使用Python編寫一個(gè)桌面便簽應(yīng)用

    ChatGPT的編程能力也不差,本文將一步一步提出要求,讓ChatGPT根據(jù)我們的要求,編寫出一個(gè)可用的,可打包運(yùn)行的桌面便簽,感興趣的可以了解一下
    2023-06-06
  • python實(shí)現(xiàn)隨機(jī)梯度下降法

    python實(shí)現(xiàn)隨機(jī)梯度下降法

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)隨機(jī)梯度下降法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Window10下python3.7 安裝與卸載教程圖解

    Window10下python3.7 安裝與卸載教程圖解

    本文通過圖文并茂的形式給大家介紹了WINDOW10下PYTHON3.7 安裝與卸載,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Pycharm關(guān)閉控制臺(tái)多余窗口的解決辦法

    Pycharm關(guān)閉控制臺(tái)多余窗口的解決辦法

    這篇文章主要介紹了Pycharm關(guān)閉控制臺(tái)多余窗口的解決辦法,文中通過圖文結(jié)合的方式講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-12-12
  • Python爬蟲常用小技巧之設(shè)置代理IP

    Python爬蟲常用小技巧之設(shè)置代理IP

    這篇文章主要給大家介紹了關(guān)于Python爬蟲常用小技巧之設(shè)置代理IP的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09

最新評(píng)論

象山县| 家居| 岳阳县| 福建省| 夏津县| 苍南县| 明溪县| 新化县| 平舆县| 崇州市| 望奎县| 临夏市| 白玉县| 应城市| 垣曲县| 志丹县| 浦北县| 宁都县| 桐城市| 武宁县| 织金县| 微山县| 怀远县| 确山县| 丁青县| 阿拉善左旗| 容城县| 东乡族自治县| 遂宁市| 甘洛县| 邳州市| 叙永县| 历史| 壶关县| 凉城县| 高台县| 漳平市| 大足县| 招远市| 都昌县| 太谷县|