文档管理中心
我的
API参考第三方平台调用凭证获取平台级Token

获取平台级Token

功能介绍

在使用API客户端方式调用第三方管理平台API接口前,需要通过华为开放平台进行鉴权,并获取认证通过后的Token。

接口原型

承载协议

HTTPS POST

接口方向

服务商服务器 -> 华为服务器

接口URL

https://connect-api.cloud.huawei.com/api/oauth2/v1/token

数据格式

请求:Content-Type: application/json

响应:Content-Type: application/json

请求参数

展开

参数名称

必选(M)/可选(O)

数据类型

参数说明

grant_type

M

String(256)

固定为client_credentials。

client_id

M

String

API客户端ID。

创建第三方平台成功后系统自动分配的客户端ID,可在第三方管理平台“开发配置 > 开发资料设置”页面中获取,详情请参见获取平台访问凭据。

client_secret

M

String(2048)

API客户端密钥。

创建第三方平台成功后系统自动生成的客户端密钥,可在第三方管理平台“开发配置 > 开发资料设置”页面中获取,详情请参见获取平台访问凭据。

请求示例

收起
自动换行
深色代码主题
复制
  1. {
  2. "grant_type":"client_credentials",
  3. "client_id":"26********20",
  4. "client_secret":"************************"
  5. }

响应参数

返回值为JSON格式的字符串,包含参数如下。

展开

参数名称

数据类型

参数说明

access_token

String

认证Token,用于第三方管理平台API接口调用。

此参数只在获取成功时返回。

expires_in

Long

access_token的有效期。

您需要在过期时间到达时重新调用本接口获取新的access_token。

有效期为48小时,如果在有效期内再次调用接口获取access_token时,新老access_token都是有效的。

此参数只在获取成功时返回。

单位:秒

ret

CodeAndMsg

包含返回码及描述信息。

返回码详情请参见错误码。

CodeAndMsg

展开

参数

类型

说明

code

Integer

返回码。

msg

String

返回码描述信息。

响应示例

收起
自动换行
深色代码主题
复制
  1. {
  2. "access_token": "eyJhbGciOiJIUzU****************",
  3. "expires_in": 172800
  4. }

调用示例

收起
自动换行
深色代码主题
复制
  1. public static String getToken(String domain, String clientId, String clientSecret) {
  2. String token = null;
  3. try {
  4. HttpPost post = new HttpPost(domain + "/oauth2/v1/token");
  5. JSONObject keyString = new JSONObject();
  6. keyString.put("client_id", "18893***83957248");
  7. keyString.put("client_secret", "B15B497B44E080EBE2C4DE4E74930***52409516B2A1A5C8F0FCD2C579A8EB14");
  8. keyString.put("grant_type", "client_credentials");
  9. StringEntity entity = new StringEntity(keyString.toString(), Charset.forName("UTF-8"));
  10. entity.setContentEncoding("UTF-8");
  11. entity.setContentType("application/json");
  12. post.setEntity(entity);
  13. CloseableHttpClient httpClient = HttpClients.createDefault();
  14. HttpResponse response = httpClient.execute(post);
  15. int statusCode = response.getStatusLine().getStatusCode();
  16. if (statusCode == HttpStatus.SC_OK) {
  17. BufferedReader br =
  18. new BufferedReader(new InputStreamReader(response.getEntity().getContent(), Consts.UTF_8));
  19. String result = br.readLine();
  20. JSONObject object = JSON.parseObject(result);
  21. token = object.getString("access_token");
  22. }
  23. post.releaseConnection();
  24. httpClient.close();
  25. } catch (Exception e) {
  26. }
  27. return token;
  28. }