
# 关键词统计
#### 功能介绍
用户问关键词统计。
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=CBS&api=CollectKeyWords)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
GET https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/keywords?top={top}\&start_time={start_time}\&end_time={end_time}
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| endpoint   | 是    | String | 终端节点，即调用API的请求地址。 不同服务不同区域的endpoint不同，您可以从[终端节点](https://support.huaweicloud.com/api-cbs/cbs_03_0102.html)中获取。 例如，CBS服务在"华北-北京四"区域的"endpoint"为"cbs-ext.cn-north-4.myhuaweicloud.com"。                                                         |
| project_id | 是    | String | 项目ID，用于资源隔离。请参见[获取项目ID](https://support.huaweicloud.com/api-cbs/cbs_03_0069.html)。                                                                                                                                                                                                                                                                                 |
| qabot_id   | 是    | String | qabot编号，UUID格式，如：303a0a00-c88a-43e3-aa2f-d5b8b9832b02。 获取方法： 登录对话机器人服务控制台，在智能问答机器人列表中查看qabot_id。 ![](https://support.huaweicloud.com/api-cbs/zh-cn_image_0000001119753970.png "点击放大") |
   
表2Query参数 
| 参数         | 是否必选 | 描述                                       |
|:---|:---|:---|
| top        | 否    | 用户问题关键词列表显示的个数。默认值为10，取值范围\[1-50\]。      |
| start_time | 否    | 查询的起始时间，long，UTC时间，采用毫秒时间戳，默认值为0。        |
| end_time   | 否    | 查询的结束时间，long，UTC时间，采用毫秒时间戳，默认值为当前时间的毫秒数。 |
   
#### 请求参数
表3请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                  |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token。 用于获取操作API的权限。[获取Token接口](https://support.huaweicloud.com/api-cbs/cbs_03_0006.html)响应消息头中X-Subject-Token的值即为Token。 |
| Content-Type | 是    | String | 消息体的类型（格式），参数值为"application/json"。                                                                                                                                                  |
   
#### 响应参数
**状态码： 200**
表4响应参数 
| 参数       | 参数类型                                                                                                                                        | 描述                          |
|:---|:---|:---|
| keywords | Array of [KeyWordsStat] objects | 指定时间范围内，用户问关键词列表。调用失败时无此字段。 |
   
 表5KeyWordsStat 
| 参数      | 参数类型   | 描述     |
|:---|:---|:---|
| keyword | String | 关键词。   |
| freq    | Long   | 关键词频次。 |
   
**状态码： 400**
表6响应Body参数 
| 参数         | 参数类型   | 描述                     |
|:---|:---|:---|
| error_code | String | 调用失败时的错误码。 调用成功时无此字段。  |
| error_msg  | String | 调用失败时的错误信息。 调用成功时无此字段。 |
   
#### 请求示例
- 统计用户问关键词
  ```
  GET https://cbs-ext.cn-north-4.myhuaweicloud.com/v1/{project_id}/qabots/{qabot_id}/requests/keywords
  Request Header:
  Content-Type: application/json
  X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...
  ```
  
- Python语言请求代码示例
  ```
  import requests
  url = "https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/keywords?top={top}&start_time={start_time}&end_time={end_time}"
  token = "用户获取得到的实际token值"
  headers = {'Content-Type': 'application/json', 'X-Auth-Token': token}
  response = requests.get(url, headers=headers, json=body, verify=False)
  print(response.text)
  ```
  
- Java语言请求代码示例
  ```
  import java.io.BufferedReader;
  import java.io.InputStream;
  import java.io.InputStreamReader;
  import java.net.HttpURLConnection;
  import java.net.URL;
  public class CBSDemo {
      public void cbsDemo() {
          try {
              //endpoint、projectId、qabot_id等需要替换成实际信息。
              URL url = new URL("https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/keywords?top={top}&start_time={start_time}&end_time={end_time}");
              String token = "用户获取得到的实际token值";
              HttpURLConnection connection = (HttpURLConnection) url.openConnection();
              connection.setRequestMethod("GET");
              connection.setDoInput(true);
              connection.setDoOutput(false);
              connection.addRequestProperty("Content-Type", "application/json");
              connection.addRequestProperty("X-Auth-Token", token);
              InputStream is = connection.getInputStream();
              BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
              while (br.ready()) {
                  System.out.println(br.readLine());
              }
          } catch (Exception e) {
              e.printStackTrace();
          }
      }
      public static void main(String[] args) {
          CBSDemo CBSDemo = new CBSDemo();
          CBSDemo.cbsDemo();
      }
  }
  ```
  
 
#### 响应示例
**状态码：200**
成功响应示例
```
{
       "keywords": [
          {
              "keyword":"桌面云",
              "freq":15
          },
          {
              "keyword":"弹性云服务器",
              "freq":15
          }
      ]
}
```
**状态码：400**
失败响应示例
```
{
    "error_code":"CBS.0021",
    "error_msg":"request parameter error"
}
```
#### 状态码
状态码请参见[状态码](https://support.huaweicloud.com/api-cbs/cbs_03_0054.html)。
#### 错误码
错误码请参见[错误码](https://support.huaweicloud.com/api-cbs/cbs_03_0053.html)。
