Python:在MS团队自适应卡中未获得消息回操作的响应
我是Python新手,一直在尝试使用即将推出的webhook将Python与MS团队集成。我已经使用flask创建了一个简单的web服务来处理post请求,我正在使用ngrok托管它,ngrok生成的URL已经用作团队中传出的webhook回调URL 我能够在我的服务中接收消息并发送自适应卡作为响应。但如果我填写信息并点击提交,我会发现“出了问题”。“请重试”错误,我的服务中没有收到任何内容 我们将非常感谢您的帮助Python:在MS团队自适应卡中未获得消息回操作的响应,python,json,flask,bots,microsoft-teams,Python,Json,Flask,Bots,Microsoft Teams,我是Python新手,一直在尝试使用即将推出的webhook将Python与MS团队集成。我已经使用flask创建了一个简单的web服务来处理post请求,我正在使用ngrok托管它,ngrok生成的URL已经用作团队中传出的webhook回调URL 我能够在我的服务中接收消息并发送自适应卡作为响应。但如果我填写信息并点击提交,我会发现“出了问题”。“请重试”错误,我的服务中没有收到任何内容 我们将非常感谢您的帮助 您是否可以尝试在web浏览器中打开团队,以共享在单击“提交”按钮时收到的控制台日
您是否可以尝试在web浏览器中打开团队,以共享在单击“提交”按钮时收到的控制台日志。它也会在单击方法时点击on_message_activity()方法。您是否可以尝试在web浏览器中打开团队共享您在单击提交按钮时收到的控制台日志。它还会在单击方法时单击on_message_activity()方法。
from flask import Flask, request, jsonify
import hmac, hashlib, base64
app = Flask(__name__)
@app.route('/testjson',methods = ['POST', 'GET'])
def webhook():
try:
if request.method == 'POST':
# Reply
data = request.get_json()
channel = data['channelId']
message_type = data['type']
sender = data['from']['name']
sender_id = data['from']['id']
message_format = data['textFormat']
message = data['text']
conversation_id = data['conversation']['id']
# Authenticate
security_token = b"sWYCgxib4hRcuHSKcKJk6w8FF6dVOa3mgmgK6thBMBg="
request_data = request.get_data()
digest = hmac.new(base64.b64decode(security_token), msg=request_data,
digestmod=hashlib.sha256).digest()
signature = base64.b64encode(digest).decode()
# Verify that HMAC header == signature
if request.headers.get('Authorization').split(' ')[1] == signature:
return jsonify({
"type": "message",
"text": "hi",
"attachments": [{
"contentType": "application/vnd.microsoft.card.adaptive",
"content": {
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.0",
"body": [
{
"type": "TextBlock",
"text": "Present a form and submit it back to the originator"
},
{
"type": "Input.Text",
"id": "firstName",
"placeholder": "What is your first name?"
},
{
"type": "Input.Text",
"id": "lastName",
"placeholder": "What is your last name?"
}
],
"actions": [
{
"type": "Action.Submit",
"title": "Submit",
"data": {
"msteams": {
"type": "messageBack",
"displayText": "I clicked this button",
"text": "text to bots",
"value": "{\"bfKey\": \"bfVal\", \"conflictKey\": \"from value\"}"
}
}
}
]
}
}]
})
else:
print("hi")
except Exception as ex:
print(ex)
if __name__ == '__main__':
app.run(debug=True)