IMSDK
即时通信 IM 提供全球接入、单聊、群聊、消息推送、资料关系链托管、账号鉴权等全方位解决方案,并提供完备的 App 接入、后台管理接口。
TIMFriendshipManagerFunction.h 文件参考

类型定义

typedef void(* TIMOnAddFriendCallback) (const char *json_identifier_array, const void *user_data)
 
typedef void(* TIMOnDeleteFriendCallback) (const char *json_identifier_array, const void *user_data)
 
typedef void(* TIMUpdateFriendProfileCallback) (const char *json_friend_profile_update_array, const void *user_data)
 
typedef void(* TIMFriendAddRequestCallback) (const char *json_friend_add_request_pendency_array, const void *user_data)
 
typedef void(* TIMFriendApplicationListDeletedCallback) (const char *json_identifier_array, const void *user_data)
 
typedef void(* TIMFriendApplicationListReadCallback) (const void *user_data)
 
typedef void(* TIMFriendBlackListAddedCallback) (const char *json_friend_black_added_array, const void *user_data)
 
typedef void(* TIMFriendBlackListDeletedCallback) (const char *json_identifier_array, const void *user_data)
 
typedef void(* TIMOfficialAccountSubscribedCallback) (const char *json_official_account_info, const void *user_data)
 
typedef void(* TIMOfficialAccountUnsubscribedCallback) (const char *official_account_id, const void *user_data)
 
typedef void(* TIMOfficialAccountDeletedCallback) (const char *official_account_id, const void *user_data)
 
typedef void(* TIMOfficialAccountInfoChangedCallback) (const char *json_official_account_info, const void *user_data)
 
typedef void(* TIMMyFollowingListChangedCallback) (const char *json_user_info_list, bool is_add, const void *user_data)
 
typedef void(* TIMMyFollowersListChangedCallback) (const char *json_user_info_list, bool is_add, const void *user_data)
 
typedef void(* TIMMutualFollowersListChangedCallback) (const char *json_user_info_list, bool is_add, const void *user_data)
 

函数

TIM_API void TIMSetOnAddFriendCallback (TIMOnAddFriendCallback cb, const void *user_data)
 
TIM_API void TIMSetOnDeleteFriendCallback (TIMOnDeleteFriendCallback cb, const void *user_data)
 
TIM_API void TIMSetUpdateFriendProfileCallback (TIMUpdateFriendProfileCallback cb, const void *user_data)
 
TIM_API void TIMSetFriendAddRequestCallback (TIMFriendAddRequestCallback cb, const void *user_data)
 
TIM_API void TIMSetFriendApplicationListDeletedCallback (TIMFriendApplicationListDeletedCallback cb, const void *user_data)
 
TIM_API void TIMSetFriendApplicationListReadCallback (TIMFriendApplicationListReadCallback cb, const void *user_data)
 
TIM_API void TIMSetFriendBlackListAddedCallback (TIMFriendBlackListAddedCallback cb, const void *user_data)
 
TIM_API void TIMSetFriendBlackListDeletedCallback (TIMFriendBlackListDeletedCallback cb, const void *user_data)
 
TIM_API void TIMSetOfficialAccountSubscribedCallback (TIMOfficialAccountSubscribedCallback cb, const void *user_data)
 
TIM_API void TIMSetOfficialAccountUnsubscribedCallback (TIMOfficialAccountUnsubscribedCallback cb, const void *user_data)
 
TIM_API void TIMSetOfficialAccountDeletedCallback (TIMOfficialAccountDeletedCallback cb, const void *user_data)
 
TIM_API void TIMSetOfficialAccountInfoChangedCallback (TIMOfficialAccountInfoChangedCallback cb, const void *user_data)
 
TIM_API void TIMSetMyFollowingListChangedCallback (TIMMyFollowingListChangedCallback cb, const void *user_data)
 
TIM_API void TIMSetMyFollowersListChangedCallback (TIMMyFollowersListChangedCallback cb, const void *user_data)
 
TIM_API void TIMSetMutualFollowersListChangedCallback (TIMMutualFollowersListChangedCallback cb, const void *user_data)
 
TIM_API int TIMFriendshipGetFriendProfileList (TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMFriendshipGetFriendsInfo (const char *friend_id_list, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMFriendshipModifyFriendProfile (const char *json_modify_friend_info_param, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMFriendshipSearchFriends (const char *json_search_friends_param, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMFriendshipAddFriend (const char *json_add_friend_param, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMFriendshipDeleteFriend (const char *json_delete_friend_param, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMFriendshipCheckFriendType (const char *json_check_friend_list_param, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMFriendshipGetPendencyList (const char *json_get_pendency_list_param, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMFriendshipHandleFriendAddRequest (const char *json_handle_friend_add_param, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMFriendshipReportPendencyReaded (uint64_t time_stamp, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMFriendshipDeletePendency (const char *json_delete_pendency_param, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMFriendshipGetBlackList (TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMFriendshipAddToBlackList (const char *json_add_to_blacklist_param, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMFriendshipDeleteFromBlackList (const char *json_delete_from_blacklist_param, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMFriendshipCreateFriendGroup (const char *json_create_friend_group_param, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMFriendshipGetFriendGroupList (const char *json_get_friend_group_list_param, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMFriendshipDeleteFriendGroup (const char *json_delete_friend_group_param, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMFriendshipModifyFriendGroup (const char *json_modify_friend_group_param, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMSubscribeOfficialAccount (const char *official_account_id, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMUnsubscribeOfficialAccount (const char *unsubscribe_official_account_id, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMGetOfficialAccountsInfo (const char *json_get_official_accounts_info_param, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMFollowUser (const char *json_user_id_list, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMUnfollowUser (const char *json_user_id_list, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMGetMyFollowingList (const char *next_cursor, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMGetMyFollowersList (const char *next_cursor, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMGetMutualFollowersList (const char *next_cursor, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMGetUserFollowInfo (const char *json_user_id_list, TIMCommCallback cb, const void *user_data)
 
TIM_API int TIMCheckFollowType (const char *json_user_id_list, TIMCommCallback cb, const void *user_data)
 

类型定义说明

◆ TIMOnAddFriendCallback

typedef void(* TIMOnAddFriendCallback) (const char *json_identifier_array, const void *user_data)

1.1 添加好友的回调

参数
json_identifier_array添加好友列表
user_dataImSDK负责透传的用户自定义数据,未做任何处理

json_identifier_array 示例

[ "user15" ]

◆ TIMOnDeleteFriendCallback

typedef void(* TIMOnDeleteFriendCallback) (const char *json_identifier_array, const void *user_data)

1.2 删除好友的回调

参数
json_identifier_array删除好友列表
user_dataImSDK负责透传的用户自定义数据,未做任何处理

json_identifier_array 示例

[ "user15" ]

◆ TIMUpdateFriendProfileCallback

typedef void(* TIMUpdateFriendProfileCallback) (const char *json_friend_profile_update_array, const void *user_data)

1.3 更新好友资料的回调

参数
json_friend_profile_update_array好友资料更新列表
user_dataImSDK负责透传的用户自定义数据,未做任何处理

json_friend_profile_update_array 示例 (Json Key 请参考 FriendProfileItem)

[
{
"friend_profile_update_identifier" : "user4",
"friend_profile_update_item" : {
"friend_profile_item_group_name_array" : [ "group1", "group2" ],
"friend_profile_item_remark" : "New Remark"
}
}
]

◆ TIMFriendAddRequestCallback

typedef void(* TIMFriendAddRequestCallback) (const char *json_friend_add_request_pendency_array, const void *user_data)

1.4 好友添加请求的回调

参数
json_friend_add_request_pendency_array好友添加请求未决信息列表
user_dataImSDK负责透传的用户自定义数据,未做任何处理

json_friend_add_request_pendency_array 示例 (Json Key 请参考 FriendAddPendency)

[
{
"friend_add_pendency_add_source" : "AddSource_Type_android",
"friend_add_pendency_add_wording" : "aaaa",
"friend_add_pendency_identifier" : "v222",
"friend_add_pendency_nick_name" : ""
}
]

◆ TIMFriendApplicationListDeletedCallback

typedef void(* TIMFriendApplicationListDeletedCallback) (const char *json_identifier_array, const void *user_data)

1.5 好友申请删除通知

参数
json_identifier_array删除好友请求的 userid 列表
user_dataImSDK负责透传的用户自定义数据,未做任何处理
注意
以下四种情况会收到这个回调:
  1. 主动删除好友申请
  2. 拒绝好友申请
  3. 同意好友申请
  4. 申请加别人好友被拒绝

json_identifier_array 的示例

[ "user15" ]

◆ TIMFriendApplicationListReadCallback

typedef void(* TIMFriendApplicationListReadCallback) (const void *user_data)

1.6 好友申请已读通知

参数
user_dataImSDK负责透传的用户自定义数据,未做任何处理
注意
如果调用 TIMFriendshipReportPendencyReaded 设置好友申请列表已读,会收到这个回调(主要用于多端同步)

◆ TIMFriendBlackListAddedCallback

typedef void(* TIMFriendBlackListAddedCallback) (const char *json_friend_black_added_array, const void *user_data)

1.7 黑名单新增通知

参数
json_friend_black_added_array新增黑名单列表
user_dataImSDK负责透传的用户自定义数据,未做任何处理

json_friend_black_added_array 示例 (Json Key 请参考 FriendProfile)

[{
"friend_profile_add_source": "",
"friend_profile_add_time": 0,
"friend_profile_add_wording": "",
"friend_profile_custom_string_array": [{
"friend_profile_custom_string_info_key": "Tag_Profile_Custom_Str",
"friend_profile_custom_string_info_value": "test3-lamar-value"
}],
"friend_profile_group_name_array": [],
"friend_profile_identifier": "98826",
"friend_profile_remark": "",
"friend_profile_user_profile": {
"user_profile_add_permission": 1,
"user_profile_birthday": 2000,
"user_profile_custom_string_array": [{
"user_profile_custom_string_info_key": "Tag_Profile_Custom_Str",
"user_profile_custom_string_info_value": "test3-lamar-value"
}],
"user_profile_face_url": "test1-www.google.com",
"user_profile_gender": 2,
"user_profile_identifier": "98826",
"user_profile_language": 1000,
"user_profile_level": 3000,
"user_profile_location": "shenzhen",
"user_profile_nick_name": "test change8888",
"user_profile_role": 4000,
"user_profile_self_signature": "1111111"
}
}]

◆ TIMFriendBlackListDeletedCallback

typedef void(* TIMFriendBlackListDeletedCallback) (const char *json_identifier_array, const void *user_data)

1.8 黑名单删除通知

参数
json_identifier_array黑名单列表
user_dataImSDK负责透传的用户自定义数据,未做任何处理

json_identifier_array 示例

[ "user15" ]

◆ TIMOfficialAccountSubscribedCallback

typedef void(* TIMOfficialAccountSubscribedCallback) (const char *json_official_account_info, const void *user_data)

1.9 订阅公众号的回调

参数
json_official_account_info公众号资料,Json Key 请参考 OfficialAccountInfo
user_dataImSDK负责透传的用户自定义数据,未做任何处理

◆ TIMOfficialAccountUnsubscribedCallback

typedef void(* TIMOfficialAccountUnsubscribedCallback) (const char *official_account_id, const void *user_data)

1.10 取消订阅公众号的回调

参数
official_account_id公众号 ID
user_dataImSDK负责透传的用户自定义数据,未做任何处理

◆ TIMOfficialAccountDeletedCallback

typedef void(* TIMOfficialAccountDeletedCallback) (const char *official_account_id, const void *user_data)

1.11 订阅的公众号被删除的回调

参数
official_account_id公众号 ID
user_dataImSDK负责透传的用户自定义数据,未做任何处理

◆ TIMOfficialAccountInfoChangedCallback

typedef void(* TIMOfficialAccountInfoChangedCallback) (const char *json_official_account_info, const void *user_data)

1.12 订阅的公众号资料更新的回调

参数
json_official_account_info公众号资料,Json Key 请参考 OfficialAccountInfo
user_dataImSDK负责透传的用户自定义数据,未做任何处理

◆ TIMMyFollowingListChangedCallback

typedef void(* TIMMyFollowingListChangedCallback) (const char *json_user_info_list, bool is_add, const void *user_data)

1.13 关注列表变更的回调

参数
json_user_info_list变更的用户列表,Json Key 请参考 UserInfo
is_add变更用户是否为新增
user_dataImSDK负责透传的用户自定义数据,未做任何处理

◆ TIMMyFollowersListChangedCallback

typedef void(* TIMMyFollowersListChangedCallback) (const char *json_user_info_list, bool is_add, const void *user_data)

1.14 粉丝列表变更的回调

参数
json_user_info_list变更的用户列表,Json Key 请参考 UserInfo
is_add变更用户是否为新增
user_dataImSDK负责透传的用户自定义数据,未做任何处理

◆ TIMMutualFollowersListChangedCallback

typedef void(* TIMMutualFollowersListChangedCallback) (const char *json_user_info_list, bool is_add, const void *user_data)

1.15 互关列表变更的回调

参数
json_user_info_list变更的用户列表,Json Key 请参考 UserInfo
is_add变更用户是否为新增
user_dataImSDK负责透传的用户自定义数据,未做任何处理

函数说明

◆ TIMSetOnAddFriendCallback()

TIM_API void TIMSetOnAddFriendCallback ( TIMOnAddFriendCallback  cb,
const void *  user_data 
)

2.1 设置添加好友的回调

参数
cb添加好友回调,请参考 TIMOnAddFriendCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
注意
此回调为了多终端同步。例如A设备、B设备都登录了同一账号的ImSDK,A设备添加了好友,B设备ImSDK会收到添加好友的推送,ImSDK通过此回调告知开发者。

◆ TIMSetOnDeleteFriendCallback()

TIM_API void TIMSetOnDeleteFriendCallback ( TIMOnDeleteFriendCallback  cb,
const void *  user_data 
)

2.2 设置删除好友的回调

参数
cb删除好友回调,请参考 TIMOnDeleteFriendCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
注意
此回调为了多终端同步。例如A设备、B设备都登录了同一账号的ImSDK,A设备删除了好友,B设备ImSDK会收到删除好友的推送,ImSDK通过此回调告知开发者。

◆ TIMSetUpdateFriendProfileCallback()

TIM_API void TIMSetUpdateFriendProfileCallback ( TIMUpdateFriendProfileCallback  cb,
const void *  user_data 
)

2.3 设置更新好友资料的回调

参数
cb更新好友资料回调,请参考 TIMUpdateFriendProfileCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
注意
此回调为了多终端同步。例如A设备、B设备都登录了同一账号的ImSDK,A设备更新了好友资料,B设备ImSDK会收到更新好友资料的推送,ImSDK通过此回调告知开发者。

◆ TIMSetFriendAddRequestCallback()

TIM_API void TIMSetFriendAddRequestCallback ( TIMFriendAddRequestCallback  cb,
const void *  user_data 
)

2.4 设置好友添加请求的回调

参数
cb好友添加请求回调,请参考 TIMFriendAddRequestCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
注意
当前登入用户设置添加好友需要确认时,如果有用户请求加当前登入用户为好友,会收到好友添加请求的回调,ImSDK通过此回调告知开发者。如果多终端登入同一账号,每个终端都会收到这个回调。

◆ TIMSetFriendApplicationListDeletedCallback()

TIM_API void TIMSetFriendApplicationListDeletedCallback ( TIMFriendApplicationListDeletedCallback  cb,
const void *  user_data 
)

2.5 设置好友申请被删除的回调

参数
cb好友申请删除回调,请参考 TIMFriendApplicationListDeletedCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
注意
以下四种情况会收到此回调:
  1. 主动删除好友申请
  2. 拒绝好友申请
  3. 同意好友申请
  4. 申请加别人好友被拒绝

◆ TIMSetFriendApplicationListReadCallback()

TIM_API void TIMSetFriendApplicationListReadCallback ( TIMFriendApplicationListReadCallback  cb,
const void *  user_data 
)

2.6 设置好友申请已读的回调

参数
cb好友申请已读回调,请参考 TIMFriendApplicationListReadCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
注意
如果调用 TIMFriendshipReportPendencyReaded 设置好友申请列表已读,会收到这个回调(主要用于多端同步)

◆ TIMSetFriendBlackListAddedCallback()

TIM_API void TIMSetFriendBlackListAddedCallback ( TIMFriendBlackListAddedCallback  cb,
const void *  user_data 
)

2.7 设置黑名单新增的回调

参数
cb黑名单新增的回调,请参考 TIMFriendBlackListAddedCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理

◆ TIMSetFriendBlackListDeletedCallback()

TIM_API void TIMSetFriendBlackListDeletedCallback ( TIMFriendBlackListDeletedCallback  cb,
const void *  user_data 
)

2.8 设置黑名单删除的回调

参数
cb黑名单删除的回调,请参考 TIMFriendBlackListDeletedCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理

◆ TIMSetOfficialAccountSubscribedCallback()

TIM_API void TIMSetOfficialAccountSubscribedCallback ( TIMOfficialAccountSubscribedCallback  cb,
const void *  user_data 
)

2.9 设置公众号订阅的回调

参数
cb公众号订阅的回调,请参考 TIMOfficialAccountSubscribedCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理

◆ TIMSetOfficialAccountUnsubscribedCallback()

TIM_API void TIMSetOfficialAccountUnsubscribedCallback ( TIMOfficialAccountUnsubscribedCallback  cb,
const void *  user_data 
)

2.10 设置公众号取消订阅的回调

参数
cb公众号取消订阅的回调,请参考 TIMOfficialAccountUnsubscribedCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理

◆ TIMSetOfficialAccountDeletedCallback()

TIM_API void TIMSetOfficialAccountDeletedCallback ( TIMOfficialAccountDeletedCallback  cb,
const void *  user_data 
)

2.11 设置订阅的公众号被删除的回调

参数
cb订阅的公众号被删除的回调,请参考 TIMOfficialAccountDeletedCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理

◆ TIMSetOfficialAccountInfoChangedCallback()

TIM_API void TIMSetOfficialAccountInfoChangedCallback ( TIMOfficialAccountInfoChangedCallback  cb,
const void *  user_data 
)

2.12 设置订阅的公众号资料更新的回调

参数
cb订阅的公众号资料更新的回调,请参考 TIMOfficialAccountInfoChangedCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理

◆ TIMSetMyFollowingListChangedCallback()

TIM_API void TIMSetMyFollowingListChangedCallback ( TIMMyFollowingListChangedCallback  cb,
const void *  user_data 
)

2.13 设置关注列表变更的回调

参数
cb关注列表变更的回调,请参考 TIMMyFollowingListChangedCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理

◆ TIMSetMyFollowersListChangedCallback()

TIM_API void TIMSetMyFollowersListChangedCallback ( TIMMyFollowersListChangedCallback  cb,
const void *  user_data 
)

2.14 设置粉丝列表变更的回调

参数
cb关注列表变更的回调,请参考 TIMMyFollowersListChangedCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理

◆ TIMSetMutualFollowersListChangedCallback()

TIM_API void TIMSetMutualFollowersListChangedCallback ( TIMMutualFollowersListChangedCallback  cb,
const void *  user_data 
)

2.15 设置互关列表变更的回调

参数
cb关注列表变更的回调,请参考 TIMMutualFollowersListChangedCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理

◆ TIMFriendshipGetFriendProfileList()

TIM_API int TIMFriendshipGetFriendProfileList ( TIMCommCallback  cb,
const void *  user_data 
)

3.1 获取好友列表

参数
cb获取好友列表成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
此接口通过回调返回所有好友资料 FriendProfile

◆ TIMFriendshipGetFriendsInfo()

TIM_API int TIMFriendshipGetFriendsInfo ( const char *  friend_id_list,
TIMCommCallback  cb,
const void *  user_data 
)

3.2 获取指定好友资料

参数
friend_id_list获取好友的 userid 列表
cb获取好友信息的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

示例

json::Array json_array;
json_array.push_back("98826");
TIMFriendshipGetFriendsInfo(json_array.toStyledString().c_str(), [](int32_t code, const char* desc, const char* json_param, const void* user_data) {
printf("GetFriendsInfo code:%d|desc:%s|json_param %s\r\n", code, desc, json_param);
}, nullptr);
json_array.toStyledString().c_str() 得到 JSON 字符串如下:
["98826"]

回调的 json_param 示例 (Json Key 请参考 FriendInfoGetResult)

[{
"friendship_friend_info_get_result_error_code": 0,
"friendship_friend_info_get_result_error_message": "OK",
"friendship_friend_info_get_result_field_info": {
"friend_profile_add_source": "AddSource_Type_contact",
"friend_profile_add_time": 1620786162,
"friend_profile_add_wording": "work together",
"friend_profile_custom_string_array": [{
"friend_profile_custom_string_info_key": "Tag_Profile_Custom_Str",
"friend_profile_custom_string_info_value": "test3-lamar-value"
}],
"friend_profile_group_name_array": ["friend1"],
"friend_profile_identifier": "98826",
"friend_profile_remark": "shoujihao",
"friend_profile_user_profile": {
"user_profile_add_permission": 1,
"user_profile_birthday": 2000,
"user_profile_custom_string_array": [{
"user_profile_custom_string_info_key": "Tag_Profile_Custom_Str",
"user_profile_custom_string_info_value": "test3-lamar-value"
}],
"user_profile_face_url": "test1-www.google.com",
"user_profile_gender": 2,
"user_profile_identifier": "98826",
"user_profile_language": 1000,
"user_profile_level": 3000,
"user_profile_location": "shenzhen",
"user_profile_nick_name": "test change8888",
"user_profile_role": 4000,
"user_profile_self_signature": "1111111"
}
},
"friendship_friend_info_get_result_relation_type": 3,
"friendship_friend_info_get_result_userid": "98826"
}]

◆ TIMFriendshipModifyFriendProfile()

TIM_API int TIMFriendshipModifyFriendProfile ( const char *  json_modify_friend_info_param,
TIMCommCallback  cb,
const void *  user_data 
)

3.3 修改好友资料(备注等)

参数
json_modify_friend_info_param更新好友资料接口参数的 Json 字符串, Json Key 请参考 FriendProfileCustomStringInfo
cb更新好友资料成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
修改好友资料,目前支持修改的字段请参考 FriendProfileItem, 一次可修改多个字段。修改自定义字段时填入的key值可以添加 Tag_SNS_Custom_ 前缀,也可以不添加 Tag_SNS_Custom_ 前缀,当不添加时,SDK 内部会自动添加该前缀。

示例

json::Object json_modify_friend_profile_item;
json_modify_friend_profile_item[kTIMFriendProfileItemRemark] = "xxxx yyyy"; // 修改备注
json::Array json_group_name_array;
json_group_name_array.push_back("group1");
json_group_name_array.push_back("group2");
json_modify_friend_profile_item[kTIMFriendProfileItemGroupNameArray] = json_group_name_array; // 修改好友分组名称列表
json::Object json_custom_object;
json_custom_object[kTIMFriendProfileCustomStringInfoKey] = "Str"; // 修改好友资料自定义字段 " Str " 的值
json_custom_object[kTIMFriendProfileCustomStringInfoValue] = "this is changed value";
json::Array json_custom_array;
json_custom_array.push_back(json_custom_object);
json_modify_friend_profile_item[kTIMFriendProfileItemCustomStringArray] = json_custom_array;
json::Object json_modify_friend_info_param;
json_modify_friend_info_param[kTIMFriendshipModifyFriendProfileParamIdentifier] = "user4";
json_modify_friend_info_param[kTIMFriendshipModifyFriendProfileParamItem] = json_modify_friend_profile_item;
int ret = TIMFriendshipModifyFriendProfile(json::Serialize(json_modify_friend_info_param).c_str(), [](int32_t code, const char* desc, const char* json_param, const void* user_data) {
}, nullptr);

◆ TIMFriendshipSearchFriends()

TIM_API int TIMFriendshipSearchFriends ( const char *  json_search_friends_param,
TIMCommCallback  cb,
const void *  user_data 
)

3.4 搜索好友(5.4.666 及以上版本支持,需要您购买旗舰版套餐)

参数
json_search_friends_param搜索好友的关键字和域, Json Key 请参考 FriendSearchParam
cb搜索好友的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

示例

json::Object json_obj;
json::Array json_keyword_list;
Json_keyword_list.push_back("98826");
json_obj[kTIMFriendshipSearchParamKeywordList] = json_keyword_list;
json::Array json_search_field_list;
json_search_field_list.push_back(kTIMFriendshipSearchFieldKey_Identifier);
json_obj[kTIMFriendshipSearchParamSearchFieldList] = json_search_field_list;
TIMFriendshipSearchFriends(json_obj.toStyledString().c_str(), [](int32_t code, const char* desc, const char* json_param, const void* user_data) {
}, nullptr);
json_obj.toStyledString().c_str() 得到 JSON 字符串如下:
{
"friendship_search_param_keyword_list": ["98826"],
"friendship_search_param_search_field_list": [1]
}

回调的 json_param 示例 (Json Key 请参考 FriendProfile)

[
{
"friend_profile_add_source":"AddSource_Type_contact",
"friend_profile_add_time":1620786162,
"friend_profile_add_wording":"work together",
"friend_profile_custom_string_array":[
{
"friend_profile_custom_string_info_key":"Tag_Profile_Custom_Str",
"friend_profile_custom_string_info_value":"test3-lamar-value"
}
],
"friend_profile_group_name_array":[
"friend1"
],
"friend_profile_identifier":"98826",
"friend_profile_remark":"shoujihao",
"friend_profile_user_profile":{
"user_profile_add_permission":1,
"user_profile_birthday":2000,
"user_profile_custom_string_array":[
{
"user_profile_custom_string_info_key":"Tag_Profile_Custom_Str",
"user_profile_custom_string_info_value":"test3-lamar-value"
}
],
"user_profile_face_url":"test1-www.google.com",
"user_profile_gender":2,
"user_profile_identifier":"98826",
"user_profile_language":1000,
"user_profile_level":3000,
"user_profile_location":"深圳",
"user_profile_nick_name":"test change8888",
"user_profile_role":4000,
"user_profile_self_signature":"1111111"
}
}
]

◆ TIMFriendshipAddFriend()

TIM_API int TIMFriendshipAddFriend ( const char *  json_add_friend_param,
TIMCommCallback  cb,
const void *  user_data 
)

3.5 添加好友

参数
json_add_friend_param添加好友接口参数的 Json 字符串, Json Key 请参考 FriendshipAddFriendParam
cb添加好友成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
好友关系有单向和双向好友之分。详情请参考添加好友.

示例

json::Object json_add_friend_param;
json_add_friend_param[kTIMFriendshipAddFriendParamIdentifier] = "user4";
json_add_friend_param[kTIMFriendshipAddFriendParamFriendType] = FriendTypeBoth;
json_add_friend_param[kTIMFriendshipAddFriendParamAddSource] = "Windows";
json_add_friend_param[kTIMFriendshipAddFriendParamAddWording] = "I am Iron Man";
int ret = TIMFriendshipAddFriend(json_add_friend_param.toStyledString().c_str(), [](int32_t code, const char* desc, const char* json_params, const void* user_data) {
if (ERR_SUCC != code) {
// 添加好友失败
return;
}
}, nullptr);

◆ TIMFriendshipDeleteFriend()

TIM_API int TIMFriendshipDeleteFriend ( const char *  json_delete_friend_param,
TIMCommCallback  cb,
const void *  user_data 
)

3.6 删除好友

参数
json_delete_friend_param删除好友接口参数的 Json 字符串, Json Key 请参考 FriendshipDeleteFriendParam
cb删除好友成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
删除好友也有删除单向好友还是双向好友之分,删除好友.

示例

json::Object json_delete_friend_param;
json_delete_friend_param[kTIMFriendshipDeleteFriendParamFriendType] = FriendTypeSingle;
json::Array json_friend_array;
json_friend_array.push_back("user4");
json_delete_friend_param[kTIMFriendshipDeleteFriendParamIdentifierArray] = json_friend_array;
int ret = TIMFriendshipDeleteFriend(json_delete_friend_param.toStyledString().c_str(), [](int32_t code, const char* desc, const char* json_params, const void* user_data) {
if (ERR_SUCC != code) {
// 删除好友失败
return;
}
}, nullptr);

◆ TIMFriendshipCheckFriendType()

TIM_API int TIMFriendshipCheckFriendType ( const char *  json_check_friend_list_param,
TIMCommCallback  cb,
const void *  user_data 
)

3.7 检测好友类型(单向或双向)

参数
json_check_friend_list_param检测好友接口参数的 Json 字符串, Json Key 请参考 FriendshipCheckFriendTypeParam
cb检测好友成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
开发者可以通过此接口检测给定的 UserID 列表跟当前账户的好友关系,检测好友相关内容请参考 检测好友

示例

json::Object json_check_friend_list_param;
json_check_friend_list_param[kTIMFriendshipCheckFriendTypeParamCheckType] = FriendTypeBoth;
json::Array json_friend_array;
json_friend_array.push_back("user4");
json_check_friend_list_param[kTIMFriendshipCheckFriendTypeParamIdentifierArray] = json_friend_array;
int ret = TIMFriendshipCheckFriendType(json_check_friend_list_param.toStyledString().c_str(), [](int32_t code, const char* desc, const char* json_params, const void* user_data) {
}, nullptr);

◆ TIMFriendshipGetPendencyList()

TIM_API int TIMFriendshipGetPendencyList ( const char *  json_get_pendency_list_param,
TIMCommCallback  cb,
const void *  user_data 
)

4.1 获取好友添加请求未决信息列表

参数
json_get_pendency_list_param获取未决列表接口参数的 Json 字符串, Json Key 请参考 FriendshipGetPendencyListParam
cb获取未决列表成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
好友添加请求未决信息是指好友添加请求未处理的操作。例如,开发者添加对方为好友,对方还没有处理;或者有人添加开发者为好友,开发者还没有处理,称之为好友添加请求未决信息

示例

json::Object json_get_pendency_list_param;
json_get_pendency_list_param[kTIMFriendshipGetPendencyListParamType] = FriendPendencyTypeBoth;
json_get_pendency_list_param[kTIMFriendshipGetPendencyListParamStartSeq] = 0;
int ret = TIMFriendshipGetPendencyList(json_get_pendency_list_param.toStyledString().c_str(), [](int32_t code, const char* desc, const char* json_params, const void* user_data) {
}, nullptr);

◆ TIMFriendshipHandleFriendAddRequest()

TIM_API int TIMFriendshipHandleFriendAddRequest ( const char *  json_handle_friend_add_param,
TIMCommCallback  cb,
const void *  user_data 
)

4.2 处理好友请求

参数
json_handle_friend_add_param处理好友请求接口参数的 Json 字符串, Json Key 请参考 FriendResponse
cb处理好友请求成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
当自己的个人资料的加好友权限 kTIMUserProfileAddPermission 设置为 kTIMProfileAddPermission_NeedConfirm 时,别人添加自己为好友时会收到一个加好友的请求,可通过此接口处理加好友的请求。

示例

Json::Value json_handle_friend_add_param;
json_handle_friend_add_param[kTIMFriendResponseIdentifier] = "user1";
json_handle_friend_add_param[kTIMFriendResponseAction] = ResponseActionAgreeAndAdd;
json_handle_friend_add_param[kTIMFriendResponseRemark] = "I am Captain China";
json_handle_friend_add_param[kTIMFriendResponseGroupName] = "schoolmate";
int ret = TIMFriendshipHandleFriendAddRequest(json_handle_friend_add_param.toStyledString().c_str(), [](int32_t code, const char* desc, const char* json_params, const void* user_data) {
}, nullptr);

◆ TIMFriendshipReportPendencyReaded()

TIM_API int TIMFriendshipReportPendencyReaded ( uint64_t  time_stamp,
TIMCommCallback  cb,
const void *  user_data 
)

4.3 上报好友添加请求未决信息已读

参数
time_stamp上报未决信息已读时间戳(单位秒),填 0 默认会获取当前的时间戳
cb上报未决信息已读用户成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

示例

TIMFriendshipReportPendencyReaded(0, [](int32_t code, const char* desc, const char* json_param, const void* user_data) {
}, nullptr);
json_param 为空字符串,判断 code 确认结果即可

◆ TIMFriendshipDeletePendency()

TIM_API int TIMFriendshipDeletePendency ( const char *  json_delete_pendency_param,
TIMCommCallback  cb,
const void *  user_data 
)

4.4 删除指定好友添加请求未决信息

参数
json_delete_pendency_param删除指定未决信息接口参数的 Json 字符串, Json Key 请参考 FriendshipDeletePendencyParam
cb删除指定未决信息成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

示例

json::Object json_delete_pendency_param;
json_delete_pendency_param[kTIMFriendshipDeletePendencyParamType] = FriendPendencyTypeComeIn;
json::Array json_application_array;
json_application_array.push_back("user1");
json_delete_pendency_param[kTIMFriendshipDeletePendencyParamIdentifierArray] = json_application_array;
int ret = TIMFriendshipDeletePendency(json_delete_pendency_param.toStyledString().c_str(), [](int32_t code, const char* desc, const char* json_params, const void* user_data) {
}, nullptr);

◆ TIMFriendshipGetBlackList()

TIM_API int TIMFriendshipGetBlackList ( TIMCommCallback  cb,
const void *  user_data 
)

5.1 获取黑名单列表

参数
cb获取黑名单列表成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

◆ TIMFriendshipAddToBlackList()

TIM_API int TIMFriendshipAddToBlackList ( const char *  json_add_to_blacklist_param,
TIMCommCallback  cb,
const void *  user_data 
)

5.2 添加指定用户到黑名单

参数
json_add_to_blacklist_param添加指定用户到黑名单接口参数的 Json 字符串
cb添加指定用户到黑名单成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

示例

json::Array json_add_to_blacklist_param;
json_add_to_blacklist_param.push_back("user5");
json_add_to_blacklist_param.push_back("user10");
int ret = TIMFriendshipAddToBlackList(json_add_to_blacklist_param.toStyledString().c_str(), [](int32_t code, const char* desc, const char* json_params, const void* user_data) {
}, nullptr);

◆ TIMFriendshipDeleteFromBlackList()

TIM_API int TIMFriendshipDeleteFromBlackList ( const char *  json_delete_from_blacklist_param,
TIMCommCallback  cb,
const void *  user_data 
)

5.3 从黑名单中删除指定用户列表

参数
json_delete_from_blacklist_param从黑名单中删除指定用户接口参数的 Json 字符串
cb从黑名单中删除指定用户成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

示例

json::Array json_delete_from_blacklist_param;
json_delete_from_blacklist_param.push_back("user5");
json_delete_from_blacklist_param.push_back("user10");
int ret = TIMFriendshipDeleteFromBlackList(json_delete_from_blacklist_param.toStyledString().c_str(), [](int32_t code, const char* desc, const char* json_params, const void* user_data) {
}, nullptr);

◆ TIMFriendshipCreateFriendGroup()

TIM_API int TIMFriendshipCreateFriendGroup ( const char *  json_create_friend_group_param,
TIMCommCallback  cb,
const void *  user_data 
)

6.1 创建好友分组

参数
json_create_friend_group_param创建好友分组接口参数的 Json 字符串, Json Key 请参考 CreateFriendGroupParam
cb创建好友分组成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
不能创建已存在的分组

示例

json::Array json_group_name_array;
json_group_name_array.push_back("Group123");
json::Array json_friend_array;
json_friend_array.push_back("user3");
json_friend_array.push_back("user4");
json::Object json_create_friend_group_param;
json_create_friend_group_param[kTIMFriendshipCreateFriendGroupParamNameArray] = json_group_name_array;
json_create_friend_group_param[kTIMFriendshipCreateFriendGroupParamIdentifierArray] = json_friend_array;
int ret = TIMFriendshipCreateFriendGroup(json_create_friend_group_param.toStyledString().c_str(), [](int32_t code, const char* desc, const char* json_params, const void* user_data) {
}, nullptr);

◆ TIMFriendshipGetFriendGroupList()

TIM_API int TIMFriendshipGetFriendGroupList ( const char *  json_get_friend_group_list_param,
TIMCommCallback  cb,
const void *  user_data 
)

6.2 获取指定好友分组的分组信息

参数
json_get_friend_group_list_param获取好友分组信息接口参数的 Json 字符串
cb获取好友分组信息成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

示例

json::Array json_get_friend_group_list_param;
json_get_friend_group_list_param.push_back("Group123");
int ret = TIMFriendshipGetFriendGroupList(json_get_friend_group_list_param.toStyledString().c_str(), [](int32_t code, const char* desc, const char* json_params, const void* user_data) {
}, nullptr);

◆ TIMFriendshipDeleteFriendGroup()

TIM_API int TIMFriendshipDeleteFriendGroup ( const char *  json_delete_friend_group_param,
TIMCommCallback  cb,
const void *  user_data 
)

6.3 删除好友分组

参数
json_delete_friend_group_param删除好友分组接口参数的 Json 字符串
cb删除好友分组成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

示例

json::Array json_delete_friend_group_param;
json_delete_friend_group_param.push_back("GroupNewName");
int ret = TIMFriendshipDeleteFriendGroup(json_delete_friend_group_param.toStyledString().c_str(), [](int32_t code, const char* desc, const char* json_params, const void* user_data) {
}, nullptr);

◆ TIMFriendshipModifyFriendGroup()

TIM_API int TIMFriendshipModifyFriendGroup ( const char *  json_modify_friend_group_param,
TIMCommCallback  cb,
const void *  user_data 
)

6.4 修改好友分组

参数
json_modify_friend_group_param修改好友分组接口参数的 Json 字符串, Json Key 请参考 FriendshipModifyFriendGroupParam
cb修改好友分组成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

示例

json::Object json_modify_friend_group_param;
json_modify_friend_group_param[kTIMFriendshipModifyFriendGroupParamName] = "Group123";
json_modify_friend_group_param[kTIMFriendshipModifyFriendGroupParamNewName] = "GroupNewName";
json::Array json_friend_delete_array;
json_friend_delete_array.push_back("user4");
json_modify_friend_group_param[kTIMFriendshipModifyFriendGroupParamDeleteIdentifierArray] = json_friend_delete_array;
json::Array json_friend_add_array;
json_friend_add_array.push_back("user5");
json_friend_add_array.push_back("user9");
json_modify_friend_group_param[kTIMFriendshipModifyFriendGroupParamAddIdentifierArray] = json_friend_add_array;
int ret = TIMFriendshipModifyFriendGroup(json_modify_friend_group_param.toStyledString().c_str(), [](int32_t code, const char* desc, const char* json_params, const void* user_data) {
}, nullptr);

◆ TIMSubscribeOfficialAccount()

TIM_API int TIMSubscribeOfficialAccount ( const char *  official_account_id,
TIMCommCallback  cb,
const void *  user_data 
)

7.1 订阅公众号(7.6 及其以上版本支持)

参数
official_account_id公众号 ID
cb订阅公众号成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

◆ TIMUnsubscribeOfficialAccount()

TIM_API int TIMUnsubscribeOfficialAccount ( const char *  unsubscribe_official_account_id,
TIMCommCallback  cb,
const void *  user_data 
)

7.2 取消订阅公众号(7.6 及其以上版本支持)

参数
unsubscribe_official_account_id公众号 ID
cb取消订阅公众号成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

◆ TIMGetOfficialAccountsInfo()

TIM_API int TIMGetOfficialAccountsInfo ( const char *  json_get_official_accounts_info_param,
TIMCommCallback  cb,
const void *  user_data 
)

7.3 获取公众号列表(7.6 及其以上版本支持)

参数
json_get_official_accounts_info_param获取公众号列表的参数Json字符串
cb获取公众号列表成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回TIM_SUCC表示接口调用成功(接口只有返回TIM_SUCC,回调cb才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

◆ TIMFollowUser()

TIM_API int TIMFollowUser ( const char *  json_user_id_list,
TIMCommCallback  cb,
const void *  user_data 
)

8.1 关注用户 (7.8 及其以上版本支持,需要您购买旗舰版套餐)

参数
json_user_id_list待关注的用户 ID 列表
cb关注用户成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回 TIM_SUCC 表示接口调用成功(接口只有返回 TIM_SUCC,回调 cb 才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
一次最多支持关注 20 个用户

回调中返回的 json_params 示例 (Json Key 请参考 FollowOperationResult)

[
{
"follow_operation_result_Info":"",
"follow_operation_result_code":0,
"follow_operation_result_user_id":"user1"
},
{
"follow_operation_result_Info":"",
"follow_operation_result_code":0,
"follow_operation_result_user_id":"user2"
}
]

◆ TIMUnfollowUser()

TIM_API int TIMUnfollowUser ( const char *  json_user_id_list,
TIMCommCallback  cb,
const void *  user_data 
)

8.2 取消关注用户 (7.8 及其以上版本支持,需要您购买旗舰版套餐)

参数
json_user_id_list待取消关注的用户 ID 列表
cb取消关注用户成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回 TIM_SUCC 表示接口调用成功(接口只有返回 TIM_SUCC,回调 cb 才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult
注意
一次最多支持取消关注 20 个用户

回调中返回的 json_params 示例 (Json Key 请参考 FollowOperationResult)

[
{
"follow_operation_result_Info":"",
"follow_operation_result_code":0,
"follow_operation_result_user_id":"user1"
},
{
"follow_operation_result_Info":"",
"follow_operation_result_code":0,
"follow_operation_result_user_id":"user2"
}
]

◆ TIMGetMyFollowingList()

TIM_API int TIMGetMyFollowingList ( const char *  next_cursor,
TIMCommCallback  cb,
const void *  user_data 
)

8.3 获取我的关注列表 (7.8 及其以上版本支持,需要您购买旗舰版套餐)

参数
next_cursor分页拉取标志,第一次拉取填 NULL 或者 "",回调中返回的 next_cursor 不为 "",则需要分页,可以传入该值再次拉取,直至返回为 ""
cb取消关注用户成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回 TIM_SUCC 表示接口调用成功(接口只有返回 TIM_SUCC,回调 cb 才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

回调中返回的 json_params 示例 (Json Key 请参考 FollowListResult)

{
"follow_list_result_next_cursor":"", // 分页拉取的标志
"follow_list_result_user_info_list":[
Object{...}, // 用户资料信息
Object{...} // 用户资料信息
]
}

◆ TIMGetMyFollowersList()

TIM_API int TIMGetMyFollowersList ( const char *  next_cursor,
TIMCommCallback  cb,
const void *  user_data 
)

8.4 获取我的粉丝列表 (7.8 及其以上版本支持,需要您购买旗舰版套餐)

参数
next_cursor分页拉取标志,第一次拉取填 NULL 或者 "",回调中返回的 next_cursor 不为 "",则需要分页,可以传入该值再次拉取,直至返回为 ""
cb取消关注用户成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回 TIM_SUCC 表示接口调用成功(接口只有返回 TIM_SUCC,回调 cb 才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

回调中返回的 json_params 示例 (Json Key 请参考 FollowListResult)

{
"follow_list_result_next_cursor":"", // 分页拉取的标志
"follow_list_result_user_info_list":[
Object{...}, // 用户资料信息
Object{...} // 用户资料信息
]
}

◆ TIMGetMutualFollowersList()

TIM_API int TIMGetMutualFollowersList ( const char *  next_cursor,
TIMCommCallback  cb,
const void *  user_data 
)

8.5 获取我的互关列表 (7.8 及其以上版本支持,需要您购买旗舰版套餐)

参数
next_cursor分页拉取标志,第一次拉取填 NULL 或者 "",回调中返回的 next_cursor 不为 "",则需要分页,可以传入该值再次拉取,直至返回为 ""
cb取消关注用户成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回 TIM_SUCC 表示接口调用成功(接口只有返回 TIM_SUCC,回调 cb 才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

回调中返回的 json_params 示例 (Json Key 请参考 FollowListResult)

{
"follow_list_result_next_cursor":"", // 分页拉取的标志
"follow_list_result_user_info_list":[
Object{...}, // 用户资料信息
Object{...} // 用户资料信息
]
}

◆ TIMGetUserFollowInfo()

TIM_API int TIMGetUserFollowInfo ( const char *  json_user_id_list,
TIMCommCallback  cb,
const void *  user_data 
)

8.6 获取指定用户的 关注/粉丝/互关 数量信息 (7.8 及其以上版本支持,需要您购买旗舰版套餐)

参数
json_user_id_list用户 ID 列表
cb取消关注用户成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回 TIM_SUCC 表示接口调用成功(接口只有返回 TIM_SUCC,回调 cb 才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

回调中返回的 json_params 示例 (Json Key 请参考 FollowInfo)

[
{
"follow_info_followers_count":6,
"follow_info_following_count":6,
"follow_info_mutual_followers_count":2,
"follow_info_result_code":0,
"follow_info_result_info":"",
"follow_info_user_id":"user1"
}
]

◆ TIMCheckFollowType()

TIM_API int TIMCheckFollowType ( const char *  json_user_id_list,
TIMCommCallback  cb,
const void *  user_data 
)

8.7 检查指定用户的关注类型 (7.8 及其以上版本支持,需要您购买旗舰版套餐)

参数
json_user_id_list用户 ID 列表
cb取消关注用户成功与否的回调。回调函数定义请参考 TIMCommCallback
user_data用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理
返回
int 返回 TIM_SUCC 表示接口调用成功(接口只有返回 TIM_SUCC,回调 cb 才会被调用),其他值表示接口调用失败。每个返回值的定义请参考 TIMResult

回调中返回的 json_params 示例 (Json Key 请参考 FollowTypeCheckResult)

[
{
"follow_type_check_result_code":0,
"follow_type_check_result_follow_type":1,
"follow_type_check_result_info":"OK",
"follow_type_check_result_user_id":"user1"
}
]