カスタム DingTalk ロボットのサンプル コードを使用するために Python を学習する

coldplay.xixi
リリース: 2020-08-13 17:12:34
転載
2877 人が閲覧しました

カスタム DingTalk ロボットのサンプル コードを使用するために Python を学習する

#1. カスタム ロボットの追加

関連する学習の推奨事項: Python ビデオ チュートリアル

2. 書くPython コードは、DingTalk Robot によって提供される Webhook をリクエストします。

DingTalk Custom Robot 公式ドキュメント

安全な方法で署名メソッドを使用します:

最初のステップでは、タイムスタンプ「\n」キーを署名文字列として使用し、HmacSHA256 アルゴリズムを使用して署名を計算し、Base64 エンコードを実行します。最後に、署名パラメータを urlEncode して最終署名を取得します ( UTF -8 文字セットを使用する必要があります)。

#Key,ロボットのセキュリティ設定ページ、署名列の下に表示される SEC で始まる文字列
#パラメータの説明

タイムスタンプ
現在のタイムスタンプ (ミリ秒単位) は、リクエストの呼び出し時刻から 1 時間を超えることはできません

#secret

import requests
 
 
#python 3.8
import time
import hmac
import hashlib
import base64
import urllib.parse
 
timestamp = str(round(time.time() * 1000))
secret = '加签时生成的密钥'
secret_enc = secret.encode('utf-8')
string_to_sign = '{}\n{}'.format(timestamp, secret)
string_to_sign_enc = string_to_sign.encode('utf-8')
hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))
print(timestamp)
print(sign)
ログイン後にコピー

2 番目のステップは、最初のステップで取得したタイムスタンプと署名値を結合することです。 URL にステップインします。

#パラメータの説明

##sign最初のステップで取得された署名値全体のコード:
import requests
 
 
#python 3.8
import time
import hmac
import hashlib
import base64
import urllib.parse
 
timestamp = str(round(time.time() * 1000))
secret = '加签时生成的密钥'
secret_enc = secret.encode('utf-8')
string_to_sign = '{}\n{}'.format(timestamp, secret)
string_to_sign_enc = string_to_sign.encode('utf-8')
hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))
print(timestamp)
print(sign)
 
 
url='生成的Webhook×tamp={}&sign={}'.format(timestamp, sign)
 
 
print (url)
headers={
 'Content-Type':'application/json'
}
json={"msgtype": "text",
 "text": {
  "content": "测试"
 } }
resp=requests.post(url=url,headers=headers,json=json)
print (resp.text)
ログイン後にコピー
タイムスタンプ

最初のステップで使用されるタイムスタンプ

3 番目のステップ、リクエストの送信

url='生成的Webhook&timestamp={}&sign={}'.format(timestamp, sign)
 
 
print (url)
headers={
 'Content-Type':'application/json'
}
json={"msgtype": "text",
 "text": {
  "content": "888"
 } }
resp=requests.post(url=url,headers=headers,json=json)
print (resp.text)
ログイン後にコピー

結果:

関連学習の推奨事項:

プログラミング ビデオ

以上がカスタム DingTalk ロボットのサンプル コードを使用するために Python を学習するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:jb51.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート