跳转至

API令牌

概述

CA REST API 受到与标准 CA Web 界面相同的限制的保护。这些限制意味着如果您不登录,您将匿名访问 CA。如果您登录后无权查看 CA 中的某些内容,您也将无法使用 CA REST API 查看它。在大多数情况下,CA平台会对您的用户帐户进行身份验证。此页面提供了基本身份验证的简单示例。

获取API令牌

基本身份验证需要 API 令牌。

您为您的 CloudAlert 帐户生成一个 API 令牌,并使用它在您使用密码的任何地方进行身份验证。

请参阅 Rest API 令牌获取,了解如何生成 API 令牌。

获取access_token

您可以构造和发送基本的身份验证标头。您可以参考执行以下步骤:

  1. 使用您的 CloudAlert账户为 CA 生成 API 令牌。

示例

请求cURl:

curl --location --request GET 'https://caweb.aiops.com/api/alert/rest/api/v1/test' \
--user 'email@example.com:<access_token>' \
--header 'Accept: application/json'
示例邮箱应替换为用户注册所用邮箱
access_token应替换为您手动获取的access_token

接口调用成功返回值

{"result":"success","message":"test ok","data":"majunjun@aiops.com","totalCount":0,"code":200}

200:成功

400:失败,传入的参数有问题

401:认证失败,用户名密码错误

加密步骤

如您对您的API 令牌有加密的需求,您可以按照以下编码方式进行加密,在需要填写 access_token 的地方填写加密后的token

  • 构建格式为 useremail:api_token 的字符串。
  • 使用Base64对字符串编码。

Linux/Unix/MacOS:

echo -n user@example.com:api_token_string | base64

Windows 7 或更高版本, 使用 Microsoft Powershell:

$Text = ‘user@example.com:api_token_string’
$Bytes = [System.Text.Encoding]::UTF8.GetBytes($Text)
$EncodedText = [Convert]::ToBase64String($Bytes)
$EncodedTex
  • 使用加密后的token进行接口调用

提供一个 Authorization 标头,其内容为 Basic,后跟编码字符串。例如:

字符串 email@example.com:access_token 编码为 base64 中的 Z2FveWluaW5nOTk5NUAxNjMuY29tOmt1WWl6bmljZ3oxN0JBVjk=

示例邮箱应替换为用户注册所用邮箱
access_token应替换为您手动获取的access_token

因此您可以按如下方式发出请求:

curl --location --request GET 'https://caweb.aiops.com/api/alert/rest/api/v1/test' \
--header 'Authorization: Basic Z2FveWluaW5nOTk5NUAxNjMuY29tOmt1WWl6bmljZ3oxN0JBVjk=' \
--header 'Content-Type: application/json'