简介
本文档介绍 CMS(思科 Meeting Server)上使用的四个基本 API(应用接口)函数 GET、POST、PUT 和 DELETE。 自CMS 2.9起,Web管理GUI的“配置”(Configuration)菜单下有一个API菜单。本文档将回顾新菜单,并介绍两种不同的API工具:Poster 和 Postman,以及如何使用这两个工具配置 CMS。
先决条件
要求
本文档没有任何特定的要求。
使用的组件
本文档不限于特定的软件和硬件版本。
本文档中的信息可与CMS 2.9及更高版本一起使用,也可与Postman或Poster等不同的API客户端一起使用。这些第三方工具在文档的API客户端部分进行了说明。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
背景信息
CMS 的 API 是配置其多项功能的极其灵活的方式。本文中回顾或介绍了大量 API 功能,请务必参考当前的 API 参考文档。截止撰写本文时,当前的 API 参考指南在此处提供
API 请求和响应
API 通信是客户端和服务器之间的请求响应关系。客户端向服务器发出请求。处理请求(完成操作,或拒绝执行此操作)后,返回响应。
本文描述的四个请求是:
- GET — 检索现有信息
- POST - 创建新信息
- PUT — 修改现有信息
- DELETE — 删除现有信息。
这些是用于配置CMS的基本API请求。
最常见的响应为 200 OK,其他响应为4xx和5xx,即错误响应。
配置
CMS 2.9及更高版本
CMS 2.9引入了新的API菜单,使管理员能够更轻松地修改CMS中的设置和微调设置。 使用菜单时,显示所有可用参数,这样可以快速轻松地更改设置和启用新功能。
配置API对象
进入API菜单后,您可以将API对象过滤为要编辑/创建的对象,然后点击对象旁边的黑色箭头进行这些更改。此示例显示如何查找callLegProfiles并创建新的callLegProfile。
单击“新建”时,将显示此屏幕,该屏幕显示CallLegProfiles的所有可用参数。将鼠标悬停在特定参数上时,将弹出一个显示每个选项用途的窗口。
修改已创建的API对象
更改对象中的设置时,您将在底部看到“修改”按钮。这与来自第三方工具的PUT相同。
从API菜单中删除API对象
要删除对象,可在“对象列表”主页上启用删除项的功能。单击允许删除以启用要删除的选项,如本示例所示:
解释的API请求(使用第三方工具)
我们通过配置示例说明这四个基本请求。
HTTP POST
步骤1.使用POST创建对象。
在本示例中,使用此请求创建 CMS 空间。要通过API创建空间,请查阅API文档。在本示例中,我使用了CMS 2.4 API指南,但您应使用此处找到的最新API指南
第6.2节包含有关如何创建和修改空格的信息。
第一句为,要创建空间,您需要向 /coSpaces 发送 post。后面接着说,空间 ID 位于 200 OK 的“Location”标头中。太好了,您现在知道如何创建空间了。您只需向 https://<WebAdminIP>/api/v1/coSpaces发送 POST。
指定 POST 的参数。
在文档的第6.2节中,您会看到一个表,其中列出了可以使用的所有参数。
例如:使用名称 APITest 并在 URI 的用户部分使用 APITestURI 来创建空间
内容类型为 application/x-www-form-urlencoded,内容为 name=APITest&uri=APITestURI
添加此参数后即完成请求,如下图所示。
POST https://<WebAdminIP>/api/v1/coSpaces HTTP/1.1
Host: <WebAdminIP>
Content-Type: application/x-www-form-urlencoded
Content-Length: 27
Authorization: Basic YWRtaW46QzFzYzBDMXNjMA==
Connection: keep-alive
name=APITest&uri=APITestURI
图中显示了之前请求的响应。
HTTP/1.1 200 OK
Server: Apache
X-Frame-Options: DENY
Strict-Transport-Security: max-age=31536000; includeSubDomains
Location: /api/v1/coSpaces/70ca0ed7-4e50-428c-b9ab-4e68faeb86ae
Vary: Accept-Encoding
Content-Encoding: gzip
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
请注意响应中的“Location”标头。
Location: /api/v1/coSpaces/70ca0ed7-4e50-428c-b9ab-4e68faeb86ae
70ca0ed7-4e50-428c-b9ab-4e68faeb86ae 是新创建的空间的 ID。当您需要发出以相同空间为目标的未来API请求时,ID非常有用。
您可以在 CMS 的 WebAdmin 中看到该空间。导航至配置 > 空间。
下图总结了 POST 请求。
HTTP GET
步骤2.创建空间后,请提取该空间的配置。
HTTP GET 用于实现这一目的。
使用“位置”信头中所创建的空间的 ID。URL 为 https://<WebAdminIP>/api/v1/coSpaces/70ca0ed7-4e50-428c-b9ab-4e68faeb86ae。 在此页面上执行 GET。
GET 请求示例:
GET https://<WebAdminIP>/api/v1/coSpaces/70ca0ed7-4e50-428c-b9ab-4e68faeb86ae HTTP/1.1
Host: <WebAdminIP>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Cookie: session=logout
Authorization: Basic YWRtaW46QzFzYzBDMXNjMA==
Connection: keep-alive
GET 请求的响应:
HTTP/1.1 200 OK
Server: Apache
X-Frame-Options: DENY
Strict-Transport-Security: max-age=31536000; includeSubDomains
Content-Type: text/xml
Vary: Accept-Encoding
Content-Length: 159
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
<?xml version="1.0"?><coSpace id="70ca0ed7-4e50-428c-b9ab-4e68faeb86ae"><name>APITest</name><autoGenerated>false</autoGenerated><uri>apitesturi</uri></coSpace>
注意:响应是空间的XML编码配置。
图像汇总了请求GET。
HTTP PUT
步骤3.对空间进行更改(如果需要)。
此示例显示如何修改创建的空间。设想一下向空间添加辅助用户部分。
请参阅 API 文档。其中介绍了需要使用的参数为:secondaryUri。
添加 asdf 的 URI。编写一个请求(看起来类似于为 POST 创建的请求)。
PUT 请求示例:
PUT https://172.18.105.244/api/v1/coSpaces/70ca0ed7-4e50-428c-b9ab-4e68faeb86ae HTTP/1.1
Host: 172.18.105.244
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded
Content-Length: 17
Cookie: session=b810c447daaeab6cdc6e019c
Authorization: Basic YWRtaW46QzFzYzBDMXNjMA==
Connection: keep-alive
secondaryUri=asdf
PUT 请求的响应:
HTTP/1.1 200 OK
Date: Tue, 12 Apr 2016 19:11:02 GMT
Server: Apache
X-Frame-Options: DENY
Strict-Transport-Security: max-age=31536000; includeSubDomains
Vary: Accept-Encoding
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Length: 0
您可以在 CMS 的 WebAdmin 中看到所做的更改。导航至配置 > 空间。
通过 GET:
<?xml version="1.0"?><coSpace id="70ca0ed7-4e50-428c-b9ab-4e68faeb86ae"><name>APITest</name><autoGenerated>false</autoGenerated><uri>apitesturi</uri><secondaryUri>asdf</secondaryUri></coSpace>
图像汇总了请求PUT。
HTTP DELETE
第 4 步: 删除空间(如果需要)。
DELETE 方法类似于 GET 方法。
DELETE 请求示例:
DELETE https://172.18.105.244/api/v1/coSpaces/70ca0ed7-4e50-428c-b9ab-4e68faeb86ae HTTP/1.1
Host: 172.18.105.244
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Cookie: session=4d13c7ebe739b662dc6e019c
Authorization: Basic YWRtaW46QzFzYzBDMXNjMA==
Connection: keep-alive
DELETE 请求的响应:
HTTP/1.1 200 OK
Date: Tue, 12 Apr 2016 19:16:37 GMT
Server: Apache
X-Frame-Options: DENY
Strict-Transport-Security: max-age=31536000; includeSubDomains
Vary: Accept-Encoding
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Length: 0
您可以在 CMS 的 WebAdmin 中看到所做的更改。导航至配置 > 空间。
通过 GET:
<?xml version="1.0"?><failureDetails><coSpaceDoesNotExist /></failureDetails>
图像汇总了请求DELETE。
API 客户端
POSTER
您可以在 Poster 顶部的框中输入请求的 URL。
您可以按顺序在“用户身份验证”字段中输入用户名和密码。然后,如果执行GET或DELETE操作,请选择相应的按钮。例如:单击GET,系统将弹出一个弹出窗口,显示您的响应。对于 DELETE,确保选中 DELETE,然后点击绿色按钮。
对于 POST 和 PUT,需要添加内容。选择“参数”选项卡并添加参数的名称和值。然后,返回“要发送的内容”按钮并选择“参数中的正文”。
发送您的 POST 和/或 PUT。
POSTMAN
在邮递员中,在左上角的下拉框中,选择要使用的方法并输入请求URL。
对于授权,选择基本身份验证并输入您的用户名和密码。然后,选择“更新请求”。您可以在“标头”选项卡中看到“授权标头”。
如果您的请求是POST/PUT,请导航至“正文”选项卡,选择x-www-form-urlencoded并输入您的参数和值。完成后,选择Send。
验证
在每个请求中都说明了验证方法。
故障排除
目前没有针对此配置的故障排除信息。