调用RefreshToken接口刷新免登录票据的访问令牌。
前提条件
已开通日志服务。
已安装Python、Python开发环境(例如PyCharm)和Python的包管理工具pip。
日志服务Python SDK新版支持Python3.7及以上版本。
您可以执行
python -V命令检查已安装的Python版本。您可以执行
pip3 -V命令检查您已安装的pip版本。
已安装日志服务Python 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']
)
# 日志服务的服务接入点
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
相关文档
CreateTicket - 创建免登录票据
RefreshToken - 刷新令牌