日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

API開放平臺代碼示例:獲取訪問憑證

郵箱管理員通過郵箱管理后臺的API開放平臺,添加應用,勾選需要的權限,保存后即可獲取到應用IDSecret

image

相關接口

獲取訪問憑證

基本流程

image

Python示例代碼

說明
  • 若key值不想從環境變量獲取,直接傳字符串即可,如

client_id ='xxxxxx'

client_secret ='xxxxxx'

重要

風險提示:下述代碼在Python 3.11.9進行的測試,用于生產環境之前請務必先做好測試。

# -*- coding: utf-8 -*-
import os
import requests
from datetime import datetime, timedelta


def get_access_token():
    """
    獲取訪問憑證。

    本函數通過請求阿里云郵箱的OAuth2.0接口獲取訪問憑證(access_token)。
    需要使用環境變量中的客戶端ID和客戶端密鑰進行認證。
    """
    # 打印接口名稱和文檔鏈接
    print('接口名稱:', '獲取訪問憑證,文檔:https://mailbestwisewords.com/openapi/index.html#/markdown/authorization.md')
    # 定義接口URL
    interface_url = "https://alimail-cn.aliyuncs.com/oauth2/v2.0/token"
    # 設置請求頭,指定內容類型
    headers = {'Content-Type': 'application/x-www-form-urlencoded'}

    # 從環境變量中獲取客戶端ID和密鑰
    client_id = os.getenv('ALIMAIL_CLIENT_ID')  # 獲取環境變量 AIMAIL_CLIENT_ID 的值,需要提前配置到環境變量中
    client_secret = os.getenv('ALIMAIL_CLIENT_SECRET')  # 獲取環境變量 AIMAIL_CLIENT_SECRET 的值,需要提前配置到環境變量中

    # 檢查客戶端ID和密鑰是否已設置
    if not client_id or not client_secret:
        raise ValueError("Environment variables ALIMAIL_CLIENT_ID and ALIMAIL_CLIENT_SECRET must be set!")

    # 準備請求數據
    data = {
        "grant_type": "client_credentials",
        "client_id": client_id,
        "client_secret": client_secret
    }
    try:
        # 發送POST請求
        response = requests.post(interface_url, headers=headers, data=data)
        # 打印接口返回參數
        print(f'接口返回參數:{response.json()}')

        # 解析響應為字典
        response_json = response.json()
        # 提取token類型和過期時間
        token_type = response_json["token_type"]
        expires_in = response_json["expires_in"]
        # 打印token類型
        print(f'token_type: {token_type}')
        # 計算過期時間
        current_time = datetime.now()
        expiration_time = current_time + timedelta(seconds=expires_in)
        # 打印過期時間
        print(f"expires_in: {round(expires_in / 3600)} hours,end_time:", expiration_time.strftime("%Y-%m-%d %H:%M:%S"))

        # 返回訪問憑證
        return response_json["access_token"]
    except requests.RequestException as e:
        # 處理請求失敗異常
        print(f"請求失敗:{e}")
    except (KeyError, ValueError) as e:
        # 處理解析響應失敗異常
        print(f"解析響應失敗: {e}")


# 調用函數獲取訪問憑證并打印
access_token = get_access_token()
print(f'access_token: {access_token}')

運行結果

image