# 接入必读
# 请求地址
私有化部署地址
https://pm.example.com
# 返回值
返回值结构都由 code、msg、data 三个字段组成,具体作用如下表:
字段 | 说明 |
---|---|
code | 返回状态码 |
msg | 返回消息 |
data | 数据内容 |
# 认证
# 概述
在 HTTP 中,基础认证是一种以HTTP请求头部为载体来传递账号和口令信息的规范。
用户在向 CORNERSTONE API发送请求时,需要依照 HTTP 基础认证的规范,在HTTP请求头中带上API账号和口令信息,CORNERSTONE 会根据 HTTP 请求头中的API账号和口令校验请求是否合法。
在发送之前是以用户名追加一个冒号然后串接上口令,并将得出的结果字符串再用Base64算法编码。例如,提供的用户名是test、口令是123456,则拼接后的结果就是test:123456,然后再将其用Base64编码,得到dGVzdDoxMjM0NTY=。最终将Base64编码的字符串发送出去,由接收者解码得到一个由冒号分隔的用户名和口令的字符串。
# 参数说明
CORNERSTONE 账号申请成功后,用户可以在个人头像->账户设置->账号密码中,获取到登录凭证。
参数 | 说明 |
---|---|
user | CORNERSTONE 账户名称 |
api_password | 登录凭证 |
# 过程
# HTTP Header 信息
以下是使用HTTP基本认证方法调用REST API时,部分HTTP头部信息:
POST /p/openapi/create_project HTTP/1.1
Host: pm.example.com
Authorization: Basic [auth_key]
Authorization 部分用于传递身份验证信息。其中,[auth_key]字段是BASE64编码后的 user:api_password 串。
# HTTP 基础认证 HTTP Header 拼接示例
当调用 RESTful API 时,将 BASE64 编码的 user:api_password 替换 [auth_key] 部分,举例如下:
- test:123456 通过 BASE64 编码为:dGVzdDoxMjM0NTY=
- 写入 HTTP 头部的 Authorization 信息为:
Authorization: Basic dGVzdDoxMjM0NTY=
# 常用语言调用示例
# curl 方式调用
如果用户是通过curl方式调用,请求时只需简单把API账号和口令作为调用参数提供即可。使用 curl 的调用例子如下:
curl -H "Content-type: application/json" -X POST -d '{"project":{"name":"测试项目OPENAPI","description":"测试项目OPENAPI描述"},"templateProjectId":"1"}' -u 'api_user:password' http://pm.example.com /p/openapi/create_project
# PHP 方式调用
<?php
$data = array(
'project' => array(
"name" => "测试项目OPENAPI",
"description" => "测试项目OPENAPI描述"
),
'templateProjectId' => "1"
);
$data_string = json_encode($data);
$url = "http://pm.example.com /p/openapi/create_project";
$curl = curl_init();
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_USERPWD, "user:api_password"); # 设置 API 帐号密码
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string);
$ret = curl_exec($curl); # 获取接口返回结果
curl_close($curl);
var_dump($ret); # 输出结果