調用RefreshToken介面重新整理免登入票據的存取權杖。
前提條件
已安裝Python、Python開發環境(例如PyCharm)和Python的包管理工具pip。
Log ServicePython SDK新版支援Python3.7及以上版本。
您可以執行
python -V命令檢查已安裝的Python版本。您可以執行
pip3 -V命令檢查您已安裝的pip版本。
已安裝Log ServicePython SDK新版。
在命令列工具中,執行如下命令完成安裝。
pip install alibabacloud_sls20201230==5.4.1安裝SDK新版後,執行如下命令進行驗證。
pip show alibabacloud_sls20201230
已配置環境變數ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET。具體操作,請參見在Linux、macOS和Windows系統中配置環境變數。
參數說明
def refresh_token(
self,
request: sls_20201230_models.RefreshTokenRequest,
) -> sls_20201230_models.RefreshTokenResponse:請求參數
名稱 | 類型 | 是否必填 | 描述 | 樣本值 |
ticket | str | 是 | 免登入票據。通過CreateTicket介面擷取的未到期的免登入票據。 | eyJ***************.eyJ******************.KUT**************** |
accessTokenExpirationTime | int | 是 | 存取權杖到期時間(秒)。預設 86400 秒(一天),最大 86400 秒(一天)。 | 86400 |
返回參數
返回參數說明請參見RefreshToken - 重新整理權杖。
範例程式碼
import os
from alibabacloud_sls20201230.client import Client as Sls20201230Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_sls20201230 import models as sls_20201230_models
from alibabacloud_tea_util.client import Client as UtilClient
def main():
config = open_api_models.Config(
# 必填,請確保代碼運行環境設定了環境變數 ALIBABA_CLOUD_ACCESS_KEY_ID。,
access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
# 必填,請確保代碼運行環境設定了環境變數 ALIBABA_CLOUD_ACCESS_KEY_SECRET。,
access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
)
# Log Service的服務存取點
config.endpoint = "cn-shanghai.log.aliyuncs.com"
client = Sls20201230Client(config)
refresh_token_request = sls_20201230_models.RefreshTokenRequest()
# 必填,免登入票據到期時間
access_token_expiration_time = 86400
# 必填,免登入票據
ticket = "eyJ***************.eyJ******************.KUT****************"
refresh_token_request = sls_20201230_models.RefreshTokenRequest(access_token_expiration_time, ticket)
try:
refresh_token_response = client.refresh_token(refresh_token_request)
print(refresh_token_response)
except Exception as error:
print(error.message)
print(error.data.get("Recommend"))
UtilClient.assert_as_string(error.message)
if __name__ == '__main__':
main()
樣本返回結果
{'headers': {'content-type': 'application/json', 'content-length': '273', 'connection': 'keep-alive', 'access-control-allow-origin': '*', 'date': 'Wed, 30 Oct 2024 05:57:27 GMT', 'server': 'Tengine', 'vary': 'Accept-Encoding', 'x-log-time': '1730267847', 'x-log-requestid': '6721CAC7B7747C1DE84490DA'}, 'statusCode': 200, 'body': {'accessToken': 'eyJ0eXAiOiJKV1eftnukiQiLCJhbGcI1****.eyJhY2Nabflc3NUb2klkIjoiYTA3NTlhMDktYjFhOS00YjY3LWE3MmQtOWI4NzIxZTFiY2M1IiwidHlwZSI6ImVtYmVkZGVkIiwiZXhwIjoxNzerthbd4NDQ3LCJub25jZSI6MTczMDI2Nzg0NzI4OCwiaWF0IjoxNzMwMjY3OD****.8xF6muCtlhncRTk3fLUvu6gc4TQRv-6swVAAgpH8Pn0'}}
Process finished with exit code 0