# 检索 Slack 的内容

## 获取 Slack 的内容

{% openapi src="<https://1371168417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4gvX7KIUy0DhcQETj8Ux%2Fuploads%2Fgit-blob-77b6137eeb641262ec8e531c78123c02b825b865%2Frememberizer_openapi.yml?alt=media&token=cce1ab0d-330f-4bed-b7da-5635aaf25472>" path="/discussions/{discussion\_id}/contents/" method="get" %}
[rememberizer\_openapi.yml](https://1371168417-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4gvX7KIUy0DhcQETj8Ux%2Fuploads%2Fgit-blob-77b6137eeb641262ec8e531c78123c02b825b865%2Frememberizer_openapi.yml?alt=media\&token=cce1ab0d-330f-4bed-b7da-5635aaf25472)
{% endopenapi %}

### 示例请求

{% tabs %}
{% tab title="cURL" %}

```bash
curl -X GET \
  "https://api.rememberizer.ai/api/v1/discussions/12345/contents/?integration_type=slack&from=2023-06-01T00:00:00Z&to=2023-06-07T23:59:59Z" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
```

{% hint style="info" %}
将 `YOUR_JWT_TOKEN` 替换为您的实际 JWT 令牌，并将 `12345` 替换为实际的讨论 ID。
{% endhint %}
{% endtab %}

{% tab title="JavaScript" %}

```javascript
const getSlackContents = async (discussionId, from = null, to = null) => {
  const url = new URL(`https://api.rememberizer.ai/api/v1/discussions/${discussionId}/contents/`);
  url.searchParams.append('integration_type', 'slack');
  
  if (from) {
    url.searchParams.append('from', from);
  }
  
  if (to) {
    url.searchParams.append('to', to);
  }
  
  const response = await fetch(url.toString(), {
    method: 'GET',
    headers: {
      'Authorization': 'Bearer YOUR_JWT_TOKEN'
    }
  });
  
  const data = await response.json();
  console.log(data);
};

// 获取过去一周的 Slack 内容
const toDate = new Date().toISOString();
const fromDate = new Date();
fromDate.setDate(fromDate.getDate() - 7);
const fromDateStr = fromDate.toISOString();

getSlackContents(12345, fromDateStr, toDate);
```

{% hint style="info" %}
将 `YOUR_JWT_TOKEN` 替换为您的实际 JWT 令牌，并将 `12345` 替换为实际的讨论 ID。
{% endhint %}
{% endtab %}

{% tab title="Python" %}

```python
import requests
from datetime import datetime, timedelta

def get_slack_contents(discussion_id, from_date=None, to_date=None):
    headers = {
        "Authorization": "Bearer YOUR_JWT_TOKEN"
    }
    
    params = {
        "integration_type": "slack"
    }
    
    if from_date:
        params["from"] = from_date
    
    if to_date:
        params["to"] = to_date
    
    response = requests.get(
        f"https://api.rememberizer.ai/api/v1/discussions/{discussion_id}/contents/",
        headers=headers,
        params=params
    )
    
    data = response.json()
    print(data)
```

{% endtab %}
{% endtabs %}

## 获取过去一周的 Slack 内容

to\_date = datetime.now().isoformat() + "Z" from\_date = (datetime.now() - timedelta(days=7)).isoformat() + "Z"

get\_slack\_contents(12345, from\_date, to\_date)

````

{% hint style="info" %}
将 `YOUR_JWT_TOKEN` 替换为您的实际 JWT 令牌，将 `12345` 替换为实际讨论 ID。
{% endhint %}
{% endtab %}
{% endtabs %}

## 路径参数

| 参数           | 类型    | 描述                                   |
|----------------|---------|----------------------------------------|
| discussion_id  | 整数    | **必填。** 要检索内容的 Slack 频道或讨论的 ID。 |

## 查询参数

| 参数 | 类型 | 描述 |
|-----------|------|-------------|
| integration_type | 字符串 | **必填。** 设置为 "slack" 以检索 Slack 内容。 |
| from | 字符串 | 以 ISO 8601 格式表示的起始时间，时区为 GMT+0。如果未指定，默认值为现在。 |
| to | 字符串 | 以 ISO 8601 格式表示的结束时间，时区为 GMT+0。如果未指定，则为 "from" 参数之前的 7 天。 |

## 响应格式

```json
{
  "discussion_content": "用户 A [2023-06-01 10:30:00]: 早上好，团队！\n用户 B [2023-06-01 10:32:15]: 早上好！大家今天过得怎么样？\n...",
  "thread_contents": {
    "2023-06-01T10:30:00Z": "用户 C [2023-06-01 10:35:00]: @用户 A 我很好，谢谢关心！\n用户 A [2023-06-01 10:37:30]: 很高兴听到这个 @用户 C！",
    "2023-06-02T14:15:22Z": "用户 D [2023-06-02 14:20:45]: 这是项目的更新...\n用户 B [2023-06-02 14:25:10]: 谢谢更新！"
  }
}
````

### 错误响应

| 状态码 | 描述      |
| --- | ------- |
| 404 | 找不到讨论   |
| 500 | 服务器内部错误 |

此端点检索 Slack 频道或直接消息对话的内容。它返回主要频道消息（`discussion_content`）和线程回复（`thread_contents`）。数据按时间顺序组织，并包含用户信息，使理解对话的上下文变得容易。

时间范围参数允许您专注于特定时期，这对于回顾近期活动或历史讨论特别有用。
