Python生成帶有時限的七牛雲上傳token
注:七牛雲官網已有各種語言的SDK,已無需個人實現~
不過還是根據博文的教程,自己使用Python語言實現了一遍。
token = accessKey + encodedSign + encoded
需要準備的數據:
- AccessKey
- SecretKey
- OSS Bucket名稱
當然,如果還想添加policy(限制上傳文件大小等)的話請參考官網,這裏是不含policy的
import base64
import hmac
import json
import time
from hashlib import sha1
# access_key
access_key = "你的AccessKey"
# secret_key
secret_key = "你的SecretKey"
# bucket
bucket = "你的bucket倉庫名稱"
# token過期(s)
expired_time = 3600
# 獲取Token
def get_token():
data = {"scope": bucket}
exp_time = int(time.time()) + expired_time
data["deadline"] = exp_time
s = json.JSONEncoder().encode(data).encode("utf-8")
encoded = base64.b64encode(s)
encoded_sign = base64.b64encode(hmac.new(secret_key.encode("utf-8"), encoded, sha1).digest()).decode("utf-8")
return access_key + ":" + encoded_sign + ":" + encoded.decode("utf-8")
# 主函數
if __name__ == '__main__':
print(get_token())
[2020.02.08] 記錄:親測可用,可用正常上傳