如何調用友盟API進行訊息推送以及遇到的坑

2021-10-06 13:30:30 字數 1761 閱讀 7288

因為不同業務的需求不同,這裡只是簡單demo

import hashlib

import json

import time

# 計算md5的函式

defmd5

(s):

return hashlib.new(

"md5"

, s.encode(

"utf8"))

.hexdigest(

)# 訊息描述

description =

'老黃曆'

# 要推送的訊息

title =

'今日運勢'

message =

'宜上分;忌打碼'

# 過期時間

expiretime =

'2020-05-28 14:11:54'

'5ece088f0cafb2b1b200015f'

'a8lkbfq8sy1v24tmszy4iefmsgdrrbk1'

# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

timestamp =

int(

round

(time.time()*

1000))

method =

'post'

url =

''params =

,"description"

: description,

"production_mode"

:true

,"payload":,

"display_type"

:"notification"},

"type"

:"broadcast"

,"timestamp"

: timestamp

}post_body = json.dumps(params)

# 計算簽名

sign = md5(

'%s%s%s%s'%)

print()

# 輸出介面位址

print

(url +

'?sign='

+ sign)

print()

# 輸出請求體

print

(post_body)

# <<<<<<<<<<<<<<<<<<<<<<<<<<<

執行後輸出

為什麼要把輸出的貼出來呢?因為這裡有下面要說的乙個坑,如果只是複製下面的輸出就遇不到,但是如果是複製控制台的輸出很可能就會遇到。

?sign=8ca87b046ce71c04f329bd17b05ad287
然後複製url引數去模擬請求一下api

結果失敗了!

這就是乙個坑的地方,上圖中的紅框圈出來的地方是乙個換行,而參與計算簽名的json字串沒有換行,所以簽名就不正確,解決方式很簡單,去掉最後乙個換行就可以了

檢視 一下手機,需要開啟應用後才能收到

ps:

如何呼叫Jenkins的API實現構建

我呼叫的方式是curl 前提是本地已搭建好jenkins,並且已經建好了要構建的任務,當然也可以自己在呼叫的時候新增引數,因為一些原因不樂意點滑鼠實現構建,所以就寫了乙個指令碼,通過呼叫jenkins的api實現構建功能,就一條關鍵命令 user 使用者名稱,password 密碼 建立jenkin...

使用PHP官方映象呼叫API進行文字翻譯

php映象環境準備 本文使用示例檔案translate through api.ph liumiaocn php liumiao docker run rm it v pwd api php 7.4.9 cli alpine sh ls api translate through api.ph ps...

C 呼叫百度 API 進行活體檢測

活體檢測有多種情形,本文所指 從攝像頭獲取的影像中判斷是活體,還是使用了相片等靜態。場景描述使用者個人資訊中上傳了近照,當使用者經過攝像頭時進行身份識別。此時,如果單純的使用攝像頭獲取的影像進行人臉相似度比對,則舉一張合適的相片對準攝像頭也是可以通過的。於是檢測攝像頭前影像是否為活體的需求就產生了。...