使用python通过webhook向Microsoft Team发送消息不起作用

时间:2019-11-27 17:11:19

标签: python post

我无法使用pymsteams通过网络挂接使用python post将json消息发送到micrososft团队频道。
所以,我在下面的json(myTeamsMessage.payload)消息中:

{'text': 'Pipeline Status', 'themeColor': '#FF0000', 'sections': 
[
{'facts': 
    [
    {'name': 'Server', 'value': u'<https://XXXX:8443/collector/pipeline/soap-post-v1>'},
    {'name': 'Environment', 'value': u'dev'}, {'name': 'Issue', 'value': u'Pipeline status is [STOPPED]'}
    ]
}, 
{'facts': 
    [
    {'name': 'Server', 'value': u'<https://xxxxx:8443/collector/pipeline/bb-4cc7-4c88-b6b6-be9694085a70>'}, 
    {'name': 'Environment', 'value': u'dev'}, {'name': 'Issue', 'value': u'Pipeline status is [STOPPED]'}
    ]
}, 
{'facts': 
    [
    {'name': 'Server', 'value': u'<https://XXXXX:8443/collector/pipeline/soap-post-v1_relations>'}, 
    {'name': 'Environment', 'value': u'dev'}, {'name': 'Issue', 'value': u'Pipeline status is [STOPPED]'}
    ]
}, 
{'facts': 
    [
    {'name': 'Server', 'value': u'<https://XXXXX:8443/collector/pipeline/characterstics-v1_allagents>'}, 
    {'name': 'Environment', 'value': u'dev'}, {'name': 'Issue', 'value': u'Pipeline status is [EDITED]'}
    ]
}, 
{'facts': 
    [
    {'name': 'Server', 'value': u'<https://XXXXXX:8443/collector/pipeline/ab23-8128b7c9fcf2>'}, 
    {'name': 'Environment', 'value': u'dev'}, {'name': 'Issue', 'value': u'Pipeline status is [EDITED]'}
    ]
}
], 'title': 'SDC Monitor'}

,我尝试使用

发送邮件
response = requests.post(teams_webhook, headers=headers, proxies=proxies, data=json.dumps(byteify(myTeamsMessage.payload)))

byteify是将unicode转换为普通字符串的一种方法,如下所示,而我本身就是从这里得到的。

def byteify(input):
    if isinstance(input, dict):
        return {byteify(key): byteify(value)
                for key, value in input.iteritems()}
    elif isinstance(input, list):
        return [byteify(element) for element in input]
    elif isinstance(input, unicode):
        return input.encode('utf-8')
    else:
        return input

我得到的response.status_code为200,但是在我的频道中看不到任何消息。

我也尝试过

response = requests.post(teams_webhook,headers = headers,proxies = proxies,data = myTeamsMessage.payload)

然后我得到400,错误消息。

那么,有人可以在这里帮助我吗?

0 个答案:

没有答案