七牛雲——利用Python生成帶有時限的上傳token

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] 記錄:親測可用,可用正常上傳

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章