添加好友

大约 3 分钟

添加好友

功能说明

  • 添加一个好友,好友必须是与当前用户在一个 App ID 下的用户。
  • 该接口为双向添加好友,即添加好友后,双方分别会出现在对方的好友列表上。
  • 对于免费版即时通讯服务,单个 App ID 下的每个用户的好友数量上限为 100,不同服务版本的 App ID 的该数量上限不同,具体可参考 IM 套餐包功能详情
  • 调用该接口会触发添加好友的发送后回调事件,详见 回调事件文档

调用频率上限

100 次/秒/App ID

请求 URL

POST https://{host}/app-id/{app_id}/users/{owner_username}/contacts/users/{friend_username}
参数类型是否必需描述
owner_usernameString用户 ID。为该用户添加好友。
friend_usernameString要添加的用户 ID。

关于请求 URL 中的其他参数说明,详见 请求 URL 参数介绍

请求示例

curl -X POST 'https://XXXX/app-id/{app_id}/users/user1/contacts/users/user2'  \
-H 'Content-Type: application/json'   \
-H 'Accept: application/json'   \
-H 'Authorization: Bearer <YourAppToken>' 

请求 header 参数

关于 Content-TypeAcceptAuthorization 字段的说明,详见 请求 header 参数说明

响应示例

{
  "action": "post",
  "path": "/users/475XXXXba/contacts",
  "uri": "https://XXXX/XXXX/XXXX/users/475XXXXba/contacts",
  "entities": [
    {
      "uuid": "b2aXXXXf1",
      "type": "user",
      "created": 1542356523769,
      "modified": 1542597334500,
      "username": "user2",
      "activated": true,
      "nickname": "testuser"
    }
  ],
  "timestamp": 1542598913819,
  "duration": 63
}

响应 body 字段

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

参数类型描述
entitiesJSON Array添加的好友的详情。
- uuidString系统内为好友生成的系统内唯一标识,开发者无需关心。
- typeString对象类型,值为 usergroup
- createdLong用户创建时间,Unix 时间戳,单位为毫秒。
- modifiedLong好友的用户信息如密码或者昵称等最新修改时间,Unix 时间戳,单位为毫秒。
- usernameString添加的好友的用户 ID。
- activatedBool好友是否为正常状态:
true 正常状态。
false 已被封禁。
- nicknameString好友的用户昵称。

响应包体中其他字段的说明如下:

参数类型描述
actionString请求方法。
pathString请求路径,属于请求 URL 的一部分,开发者无需关注。
uriString请求 URL。
timestampLongUnix 时间戳,单位为毫秒。
durationLong从发送 HTTP 请求到响应的时长, 单位为毫秒。

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

错误码

HTTP 状态码错误类型错误提示可能原因处理建议
401unauthorizedUnable to authenticate (OAuth)token 不合法,可能过期或 token 错误。使用新的 token 访问。
403exceed_limituser contact number exceed limit好友数量达到上限。检查添加的和被添的用户好友数量是否达到上限。
404service_resource_not_foundService resource not found要添加的好友或被添加好友的用户 ID 不存在。检查添加和被添加的用户 ID 是否存在。
上次编辑于: