用户收藏

大约 13 分钟

用户收藏

环信即时通讯云 IM 支持你收藏聊天过程中发送成功的各类消息或你的其他自定义内容。这些收藏的内容永久保存,你可以随时查看。例如,你若收藏指定的消息附件,可将消息附件设置为永久存储,然后再收藏,即可随时查看这些附件内容。

公共参数

以下表格列举了环信 IM 的 RESTful 接口的公共请求参数和响应参数:

请求参数

参数类型是否必需描述
hostString环信即时通讯 IM 分配的用于访问 RESTful API 的域名。详见 获取环信即时通讯 IM 的信息
org_nameString环信即时通讯 IM 为每个公司(组织)分配的唯一标识。详见 获取环信即时通讯 IM 的信息
app_nameString你在环信即时通讯云控制台创建应用时填入的应用名称。详见 获取环信即时通讯 IM 的信息

响应参数

参数类型描述
actionString请求方法。
organizationString环信即时通讯 IM 为每个公司(组织)分配的唯一标识,与请求参数 org_name 相同。
applicationString系统内为应用生成的唯一标识,开发者无需关心。
applicationNameString你在环信即时通讯云控制台创建应用时填入的应用名称,与请求参数 app_name 相同。
uriString请求 URL。
pathString请求路径,属于请求 URL 的一部分,开发者无需关注。
dataJSON实际获取的数据详情。
timestampLongHTTP 响应的 Unix 时间戳,单位为毫秒。
durationLong从发送 HTTP 请求到响应的时长, 单位为毫秒。

前提条件

要调用环信即时通讯 RESTful API,请确保满足以下要求:

认证方式

环信即时通讯 REST API 要求 Bearer HTTP 认证。每次发送 HTTP 请求时,都必须在请求头部填入如下 Authorization 字段:

Authorization: Bearer YourAppToken

为提高项目的安全性,环信使用 Token(动态密钥)对即将登录即时通讯系统的用户进行鉴权。本文介绍的即时通讯所有 REST API 均需使用 App Token 的鉴权方式,详见 使用 App Token 鉴权

分页获取用户收藏

调用该接口获取指定用户的收藏。

调用频率上限:100 次/秒/App Key

HTTP 请求

GET https://{host}/{org_name}/{app_name}/users/{username}/collections  
路径参数
参数类型是否必需描述
usernameString要获取哪个用户的收藏。

其它参数及说明详见 公共参数

查询参数

用户收藏可通过两种方式查询,如下所示。除了 typelimit 字段的设置,这两种方式的设置如下:

  1. 按时间段:时间段字段和 direction 字段配合使用。这种方式下,你必须传入 begin_timeend_time 字段,direction 字段的默认值为 desc
  2. 从指定的收藏 ID 开始查询:collection_iddirection 字段配合使用。这种方式下,你必须传入 collection_id

注意:第二种查询方式的优先级高于第一种方式。也就是说,若你传入了 collection_id 字段,则设置的 begin_timeend_time 字段无效。

参数类型是否必需描述
begin_timeNumber查询开始时间,UNIX 时间戳。默认值为 0。该字段必须小于等于 end_time。单位为毫秒。
end_timeNumber查询结束时间,UNIX 时间戳。
- 该字段必须大于等于 begin_time,默认为系统当前时间。单位为毫秒。
- 若 end_time 等于 begin_time,服务器查询该时间点的收藏。
directionString查询方向:
- (默认)desc :按照收藏时间的降序排列;
- asc: 按照收藏时间的升序排列。
typeInt收藏类型。若该参数不传,则不限制收藏类型,返回满足查询条件的所有类型的收藏。
limitInt请求查询的收藏数量。取值范围为 [1,200],默认值为 100。超过 200 则返回参数错误。
collection_idString收藏 ID。参数不为空的情况下:
- directiondesc 时,服务器会将当前收藏的时间戳作为查询结束时间,查询当前收藏及其添加时间之前的所有收藏,按收藏时间的倒序返回。
- directionasc 时,服务器会将当前收藏的创建时间戳设置为查询开始时间,查询当前收藏及其创建时间之后的所有收藏,按收藏时间的正序返回。
请求 Header
参数类型是否必需描述
AcceptString内容类型。请填 application/json
AuthorizationStringApp 管理员的鉴权 token,格式为 Bearer YourAppToken,其中 Bearer 为固定字符,后面为英文空格和获取到的 app token。

HTTP 响应

响应 body

如果返回的 HTTP 状态码为 200,表示请求成功,响应包体中包含以下字段:

字段类型描述
collectionsJSON Array获取的用户收藏的详情。
- idString收藏 ID。
- typeInt收藏类型。
- dataString收藏内容。
- extString收藏的扩展信息
- createdAtLong收藏创建时间。
- updatedAtLong收藏更新时间。

响应字段及说明详见 公共参数

如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 错误码了解可能的原因。

示例

请求示例
<YourAppToken> 替换为你在服务端生成的 App Token 
curl -X GET -H 'Accept: application/json' \
-H 'Authorization: Bearer <YourAppToken>' https://XXX/XXX/XXX/users/{username}/collections
响应示例
{
    "collections": [
    {
    "id": "string",
    "type": 0,
    "data": "string",
    "ext": "string",
    "createdAt": 0,
    "updatedAt": 0 
    }
  ]
}

错误码

如果返回的 HTTP 状态码非 200,表示请求失败,可能提示以下错误码:

HTTP 状态码错误类型错误提示可能原因处理建议
400illegal_argumentusername XXX is not legal用户 ID 不合法。查看注册用户名规范
400illegal_argumentlimit should be less than 200传入的每页查询的收藏数量 limit 不能超过 200。limit 的值控制在 200 以内。
400illegal_argumentdirection should be desc or ascdirection 参数传错。direction 参数只能是 desc 或者 asc
400user collection not found用户收藏找不到。collection_id 参数传入存在的用户收藏 ID。

关于其他错误,你可以参考 错误码 了解可能的原因。

添加一条收藏

调用该接口对指定用户添加一条收藏。

调用频率上限:100 次/秒/App Key

HTTP 请求

POST https://{host}/{org_name}/{app_name}/users/{username}/collections
路径参数
参数类型是否必需描述
usernameString要对哪个用户添加收藏。

其它参数及说明详见 公共参数

请求 Header
参数类型是否必需描述
Content-TypeString内容类型。请填 application/json
AcceptString内容类型。请填 application/json
AuthorizationStringApp 管理员的鉴权 token,格式为 Bearer YourAppToken,其中 Bearer 为固定字符,后面为英文空格和获取到的 app token。
请求 body
参数类型是否必需描述
idString收藏 ID,收藏的唯一标识。若不传,环信服务器会设置随机的 UUID。
dataString收藏内容。
typeInt收藏类型。
extString收藏的扩展信息。默认为 NULL,即无扩展信息。

HTTP 响应

响应 body

如果返回的 HTTP 状态码为 200,表示请求成功,响应包体中包含以下字段:

字段类型描述
idString收藏 ID。
typeInt收藏类型。
dataString收藏内容。
extString收藏的扩展信息。
createdAtLong收藏创建时间。
updatedAtLong收藏更新时间。

响应字段及说明详见 公共参数

如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 错误码了解可能的原因。

示例

请求示例
<YourAppToken> 替换为你在服务端生成的 App Token 
curl -X POST https://XXX/XXX/XXX/users/{username}/collections
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <YourAppToken>' 
-d '{
  "id": "string",
  "data": "string",
  "type": 0,
  "ext": "info"
}'
响应示例
{
  "collection": {
    "id": "string",
    "type": 0,
    "data": "string",
    "ext": "string",
    "createdAt": 0,
    "updatedAt": 0
  } 
}

错误码

如果返回的 HTTP 状态码非 200,表示请求失败,可能提示以下错误码:

HTTP 状态码错误类型错误提示可能原因处理建议
400illegal_argumentusername XXX is not legal用户 ID 不合法。查看注册用户名规范

关于其他错误,你可以参考 错误码 了解可能的原因。

批量添加用户收藏

调用该接口对指定用户添加多条收藏。

调用频率上限:100 次/秒/App Key

HTTP 请求

POST https://{host}/{org_name}/{app_name}/collections
路径参数

参数及说明详见 公共参数

请求 Header
参数类型是否必需描述
Content-TypeString内容类型。请填 application/json
AcceptString内容类型。请填 application/json
AuthorizationStringApp 管理员的鉴权 token,格式为 Bearer YourAppToken,其中 Bearer 为固定字符,后面为英文空格和获取到的 app token。
请求 body
参数类型是否必需描述
collectionsArray要添加的收藏详情。最多可添加 20 个收藏。
- idString收藏 ID。
- dataString收藏内容。
- typeInt收藏类型。
- extString收藏的扩展信息。
- createdAtLong收藏的添加时间。
usernameString为哪个用户添加收藏。

HTTP 响应

响应 body

如果返回的 HTTP 状态码为 200,表示请求成功。

如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 错误码了解可能的原因。

示例

请求示例
<YourAppToken> 替换为你在服务端生成的 App Token 
curl -X POST https://XXX/XXX/XXX/collections
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <YourAppToken>'  \
-d '{
  "collections": [
    {
      "id": "string",
      "type": 0,
      "data": "string",
      "ext": "string",
      "createdAt": 0
    }
  ],
  "username": "string"
}'
响应示例
{
  "collections": [ 
    {
    "id": "id1",
    "type": 0,
    "data": "string",
    "ext": "string",
    "createdAt": 0,
    "updatedAt": 0
    }
    {
    "id": "id2",
    "type": 1,
    "data": "string",
    "ext": "string",
    "createdAt": 0,
    "updatedAt": 0
    }  
  ] 
}

错误码

如果返回的 HTTP 状态码非 200,表示请求失败,可能提示以下错误码:

HTTP 状态码错误类型错误提示可能原因处理建议
400illegal_argumentusername XXX is not legal用户 ID 不合法。查看注册用户名规范

关于其他错误,你可以参考 错误码 了解可能的原因。

修改用户收藏的扩展信息

调用该接口修改指定用户的一条收藏的扩展信息。

调用频率上限:100 次/秒/App Key

HTTP 请求

PUT https://{host}/{org_name}/{app_name}/users/{username}/collections/{collectionId}
路径参数
参数类型是否必需描述
usernameString要修改哪个用户的收藏。
collectionIdString收藏 ID。

其它参数及说明详见 公共参数

请求 Header
参数类型是否必需描述
Content-TypeString内容类型。请填 application/json
AcceptString内容类型。请填 application/json
AuthorizationStringApp 管理员的鉴权 token,格式为 Bearer YourAppToken,其中 Bearer 为固定字符,后面为英文空格和获取到的 app token。
请求 body
参数类型是否必需描述
extString收藏的扩展信息。如果设置为空,则表示取消现有的扩展字段。

HTTP 响应

响应 body

如果返回的 HTTP 状态码为 200,表示请求成功,响应包体中包含以下字段:

字段类型描述
idString收藏 ID。
typeInt收藏类型。
dataString收藏内容。
extString收藏的扩展信息。
createdAtLong收藏创建时间。
updatedAtLong收藏更新时间。

响应字段及说明详见 公共参数

如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 错误码了解可能的原因。

示例

请求示例
<YourAppToken> 替换为你在服务端生成的 App Token 
curl -X PUT https://XXX/XXX/XXX/users/{username}/collections/{collectionId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <YourAppToken>' \
-d '{
  "ext": "string" 
}'
响应示例
{
  "collection": {
    "id": "string",
    "type": 0,
    "data": "string",
    "ext": "string",
    "createdAt": 0,
    "updatedAt": 0
  } 
}

错误码

如果返回的 HTTP 状态码非 200,表示请求失败,可能提示以下错误码:

HTTP 状态码错误类型错误提示可能原因处理建议
400illegal_argumentusername XXX is not legal用户 ID 不合法。查看注册用户名规范

关于其他错误,你可以参考 错误码 了解可能的原因。

删除用户收藏

调用该接口删除指定用户的收藏。

调用频率上限:100 次/秒/App Key

HTTP 请求

DELETE https://{host}/{org_name}/{app_name}/users/{username}/collections
路径参数
参数类型是否必需描述
usernameString要删除哪个用户的收藏。

其它参数及说明详见 公共参数

请求 Header
参数类型是否必需描述
Content-TypeString内容类型。请填 application/json
AcceptString内容类型。请填 application/json
AuthorizationStringApp 管理员的鉴权 token,格式为 Bearer YourAppToken,其中 Bearer 为固定字符,后面为英文空格和获取到的 app token。
请求 body
参数类型是否必需描述
collection_idsString收藏 ID。最多可传入 20 个收藏 ID。

HTTP 响应

响应 body

如果返回的 HTTP 状态码为 200,表示请求成功,响应包体中包含以下字段:

字段类型描述
resultString是否成功删除收藏:
- true:成功;
- false:失败。

响应字段及说明详见 公共参数

如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 错误码了解可能的原因。

示例

请求示例
<YourAppToken> 替换为你在服务端生成的 App Token 
curl -X DELETE https://XXX/XXX/XXX/users/{username}/collections \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <YourAppToken>'  \
-d '{
  "collection_ids": [
  "string"
  ]
}'
响应示例
{
  "result": true
}

错误码

如果返回的 HTTP 状态码非 200,表示请求失败,可能提示以下错误码:

HTTP 状态码错误类型错误提示可能原因处理建议
400illegal_argumentusername XXX is not legal用户 ID 不合法。查看注册用户名规范
400user collection not found用户收藏找不到。collection_ids 参数传入存在的用户收藏 ID。

关于其他错误,你可以参考 错误码 了解可能的原因。