Python SDK调用示例

更新时间:

本文以Python SDK为例,为您介绍如何通过云SSO OpenAPI调用GetServiceStatus接口查询云SSO开通状态。

步骤一:查看OpenAPI文档

阅读API概览,选择可以查询云SSO开通状态的OpenAPI:GetServiceStatus - 查询云SSO状态。根据接口文档,了解调用该接口需要的参数及权限。

步骤二:创建RAM用户并授权

身份

您可以使用阿里云账号(主账号)、RAM用户、RAM角色调用该接口。关于各种身份的差异,请参见身份

本示例中,使用RAM用户调用接口。

登录RAM访问控制,创建一个RAM用户。具体操作,请参见创建RAM用户

凭证

进入到对应的RAM用户详情页,在认证管理页签下的用户AccessKey区域,单击创建AccessKey,创建一个新的AccessKey。具体操作,请参见创建AccessKey

重要

RAM用户的AccessKey Secret只在创建时显示,不支持查看,请注意保存。

授权

  1. 访问RAM用户列表,单击目标RAM用户操作列的添加权限

  2. 在文本框中输入关键字cloudsso进行搜索,根据最小授权原则,选择对应权限策略。

    • AliyunCloudSSOFullAccess:管理云SSO(CloudSSO)的权限。

    • AliyunCloudSSOReadOnlyAccess:只读访问云SSO(CloudSSO)的权限。

    说明

    如果系统策略不能满足您的需求,您可以创建自定义策略。更多信息,请参见创建自定义权限策略授权信息

    本文示例选择AliyunCloudSSOReadOnlyAccess系统策略。

  3. 单击确定,完成授权操作。

步骤三:调用OpenAPI

本文以Python SDK调用OpenAPI,其他语言SDK的用法类似。更多信息,请参见云SSO SDK。您也可根据业务的实际需要选择其他调用方式,更多调用方法请参见调用方式

准备Python环境

下载并安装Python 3

安装完成后,在终端中输入python --version,查看Python版本。

配置环境变量

为避免将AccessKey硬编码到业务代码中带来的安全风险,本示例采用配置环境变量的方法管理AccessKey。具体操作,请参见在Linux、macOS和Windows系统配置环境变量

安装依赖

pip install alibabacloud_credentials
pip install alibabacloud_cloudsso20210515==1.0.2
pip install alibabacloud_tea_console

下载示例代码

  1. 在OpenAPI门户,访问GetServiceStatus调试地址

  2. 输入请求参数,单击发起调用,查看调试结果是否成功。

    本示例的接口无请求参数。

  3. SDK示例页签下的Python页签,单击下载完整工程,下载Python SDK示例代码包。

  4. 在本地解压示例代码包,并进入alibabacloud_sample目录。

运行示例代码

执行以下命令:

python sample.py

得到如下输出:

{
	"headers": {
		"date": "Thu, 13 Jul 2023 08:04:35 GMT",
		"content-type": "application/json;charset=utf-8",
		"content-length": "151",
		"connection": "keep-alive",
		"keep-alive": "timeout=25",
		"access-control-allow-origin": "*",
		"access-control-expose-headers": "*",
		"x-acs-request-id": "0E144D0A-B869-5451-AD12-16B56576****",
		"x-acs-trace-id": "202b7b433bc249690b8efc7b2070****",
		"etag": "1m1nrhLTvQdwdhKVR9B2****"
	},
	"statusCode": 200,
	"body": {
		"RequestId": "0E144D0A-B869-5451-AD12-16B56576****",
		"ServiceStatus": {
			"AccountId": "151266687691****",
			"RegionsInUse": ["cn-shanghai"],
			"Status": "Enabled"
		}
	}
}