netease

package module
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 15, 2021 License: Apache-2.0 Imports: 13 Imported by: 0

README

netease是对网易云信服务端API进行封装,netease已经在线上环境使用。 代码中已经将网易的文档全部拷贝下来方便查阅。

网易文档

注意

由于本人业务需求,所有接口返回200时只会提取部分参数。

使用示例

import (
	"fmt"
	"github.com/NSObjects/netease"
)

func main() {
	n := netease.NewNetEaseIM("appkey", "secret")
	token, err := n.CreateAccount(netease.Account{
		Accid: "xx",
		Name:  "xx",
	})
	if err != nil {
		panic(err)
	}

	fmt.Println(token)
}

License

Apache License 2.0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	Accid  string `json:"accid" `
	Name   string `json:"name" `
	Props  string `json:"props" `
	Icon   string `json:"icon" `
	Token  string `json:"token" `
	Sign   string `json:"sign" `
	Email  string `json:"email" `
	Birth  string `json:"birth" `
	Mobile string `json:"mobile" `
	Gender int    `json:"gender" `
	Ex     string `json:"ex" `
}

accid String 是 网易云通信ID,最大长度32字符,必须保证一个 APP内唯一(只允许字母、数字、半角下划线_、 @、半角点以及半角-组成,不区分大小写, 会统一小写处理,请注意以此接口返回结果中的accid为准)。 name String 否 网易云通信ID昵称,最大长度64字符。 props String 否 json属性,开发者可选填,最大长度1024字符。该参数已不建议使用。 icon String 否 网易云通信ID头像URL,开发者可选填,最大长度1024 token String 否 网易云通信ID可以指定登录token值,最大长度128字符, 并更新,如果未指定,会自动生成token,并在创建成功后返回 sign String 否 用户签名,最大长度256字符 email String 否 用户email,最大长度64字符 birth String 否 用户生日,最大长度16字符 mobile String 否 用户mobile,最大长度32字符,非中国大陆手机号码需要填写国家代码(如美国:+1-xxxxxxxxxx)或地区代码(如香港:+852-xxxxxxxx) gender int 否 用户性别,0表示未知,1表示男,2女表示女,其它会报参数错误 ex String 否 用户名片扩展字段,最大长度1024字符,用户可自行扩展,建议封装成JSON字符串

type AccountResponse

type AccountResponse struct {
	Code int `json:"code"`
	Info struct {
		Token string `json:"token"`
		Accid string `json:"accid"`
		Name  string `json:"name"`
	} `json:"info"`
}

type AttachMsg

type AttachMsg struct {
	FromAccid        string   `json:"fromAccid" `
	ToAccids         []string `json:"toAccids" `
	From             string   `json:"from" `
	Msgtype          int      `json:"msgtype"`
	To               string   `json:"to" `
	Attach           string   `json:"attach" `
	Pushcontent      string   `json:"pushcontent" `
	Payload          string   `json:"payload" `
	Sound            string   `json:"sound" `
	Save             int      `json:"save" `
	Option           string   `json:"option" `
	IsForcePush      string   `json:"isForcePush" `
	ForcePushContent string   `json:"forcePushContent" `
	ForcePushAll     string   `json:"forcePushAll" `
	ForcePushList    string   `json:"forcePushList" `
}

from String 是 发送者accid,用户帐号,最大32字符,APP内唯一 msgtype int 是 0:点对点自定义通知,1:群消息自定义通知,其他返回414 to String 是 msgtype==0是表示accid即用户id,msgtype==1表示tid即群id attach String 是 自定义通知内容,第三方组装的字符串,建议是JSON串,最大长度4096字符 pushcontent String 否 推送文案,最长500个字符。具体参见 推送配置参数详解。 payload String 否 必须是JSON,不能超过2k字符。该参数与APNs推送的payload含义不同。具体参见 推送配置参数详解。 sound String 否 如果有指定推送,此属性指定为客户端本地的声音文件名,长度不要超过30个字符,如果不指定,会使用默认声音 save int 否 1表示只发在线,2表示会存离线,其他会报414错误。默认会存离线 option String 否 发消息时特殊指定的行为选项,Json格式,可用于指定消息计数等特殊行为;option中字段不填时表示默认值。 option示例: {"badge":false,"needPushNick":false,"route":false} 字段说明: 1. badge:该消息是否需要计入到未读计数中,默认true; 2. needPushNick: 推送文案是否需要带上昵称,不设置该参数时默认false(ps:注意与sendMsg.action接口有别); 3. route: 该消息是否需要抄送第三方;默认true (需要app开通消息抄送功能) isForcePush String 否 发自定义通知时,是否强制推送 forcePushContent String 否 发自定义通知时,强制推送文案,最长500个字符 forcePushAll String 否 发群自定义通知时,强推列表是否为群里除发送者外的所有有效成员 forcePushList String 否 发群自定义通知时,强推列表,格式为JSONArray,如"accid1","accid2"

type BatchMsg

type BatchMsg struct {
	FromAccid   string   `json:"fromAccid" `
	ToAccids    []string `json:"toAccids" `
	Type        int      `json:"type" `
	Body        string   `json:"body"`
	Option      string   `json:"option"`
	Pushcontent string   `json:"pushcontent"`
	Payload     string   `json:"payload"`
	Ext         string   `json:"ext"`
	Bid         string   `json:"bid"`
	UseYidun    int      `json:"useYidun"`
	ReturnMsgid bool     `json:"returnMsgid" `
}

fromAccid String 是 发送者accid,用户帐号,最大32字符, 必须保证一个APP内唯一 toAccids String 是 ["aaa","bbb"](JSONArray对应的accid,如果解析出错,会报414错误),限500人 type int 是 0 表示文本消息, 1 表示图片, 2 表示语音, 3 表示视频, 4 表示地理位置信息, 6 表示文件, 10 表示提示消息, 100 自定义消息类型 body String 是 最大长度5000字符,JSON格式。 具体请参考: 消息格式示例 option String 否 发消息时特殊指定的行为选项,Json格式,可用于指定消息的漫游,存云端历史,发送方多端同步,推送,消息抄送等特殊行为;option中字段不填时表示默认值 option示例:

{"push":false,"roam":true,"history":false,"sendersync":true,"route":false,"badge":false,"needPushNick":true}

字段说明: 1. roam: 该消息是否需要漫游,默认true(需要app开通漫游消息功能); 2. history: 该消息是否存云端历史,默认true; 3. sendersync: 该消息是否需要发送方多端同步,默认true; 4. push: 该消息是否需要APNS推送或安卓系统通知栏推送,默认true; 5. route: 该消息是否需要抄送第三方;默认true (需要app开通消息抄送功能); 6. badge:该消息是否需要计入到未读计数中,默认true; 7. needPushNick: 推送文案是否需要带上昵称,不设置该参数时默认true; 8. persistent: 是否需要存离线消息,不设置该参数时默认true。 pushcontent String 否 推送文案,最长500个字符。具体参见 推送配置参数详解。 payload String 否 必须是JSON,不能超过2k字符。该参数与APNs推送的payload含义不同。具体参见 推送配置参数详解。 ext String 否 开发者扩展字段,长度限制1024字符 bid String 否 可选,反垃圾业务ID,实现“单条消息配置对应反垃圾”,若不填则使用原来的反垃圾配置 useYidun int 否 可选,单条消息是否使用易盾反垃圾,可选值为0。 0:(在开通易盾的情况下)不使用易盾反垃圾而是使用通用反垃圾,包括自定义消息。

若不填此字段,即在默认情况下,若应用开通了易盾反垃圾功能,则使用易盾反垃圾来进行垃圾消息的判断 returnMsgid Boolean 否 是否需要返回消息ID false:不返回消息ID(默认值) true:返回消息ID(toAccids包含的账号数量不可以超过100个)

type Bidirection

type Bidirection struct {
	Createtime  int64  `json:"createtime"`
	Bidirection bool   `json:"bidirection"`
	Faccid      string `json:"faccid"`
	Alias       string `json:"alias"`
}

type BroadcastMsgReq added in v0.0.13

type BroadcastMsgReq struct {
	Body      string   `json:"body"`
	From      string   `json:"from"`
	IsOffline bool     `json:"isOffline"`
	TTL       int      `json:"ttl"`
	TargetOS  []string `json:"targetOs"`
}

参数 类型 必须 说明 body String 是 广播消息内容,最大4096字符 from String 否 发送者accid, 用户帐号,最大长度32字符,必须保证一个APP内唯一 isOffline String 否 是否存离线,true或false,默认false ttl int 否 存离线状态下的有效期,单位小时,默认7天 targetOs String 否 目标客户端,默认所有客户端,jsonArray,格式:["ios","aos","pc","web","mac"]

type BroadcastMsgResp added in v0.0.13

type BroadcastMsgResp struct {
	Code int `json:"code"`
	Msg  struct {
		ExpireTime  int64    `json:"expireTime"`
		Body        string   `json:"body"`
		CreateTime  int64    `json:"createTime"`
		IsOffline   bool     `json:"isOffline"`
		BroadcastID int64    `json:"broadcastId"`
		TargetOs    []string `json:"targetOs"`
	} `json:"msg"`
}

type ChatRoomMember added in v0.0.13

type ChatRoomMember struct {
	Roomid       int    `json:"roomid"`
	Accid        string `json:"accid"`
	Nick         string `json:"nick"`
	Avator       string `json:"avator"`
	Ext          string `json:"ext"`
	Type         string `json:"type"`
	Level        int    `json:"level"`
	Onlinestat   bool   `json:"onlineStat"`
	Entertime    int64  `json:"enterTime"`
	Blacklisted  bool   `json:"blacklisted"`
	Muted        bool   `json:"muted"`
	Tempmuted    bool   `json:"tempMuted"`
	Tempmutettl  int    `json:"tempMuteTtl"`
	Isrobot      bool   `json:"isRobot"`
	Robotexpirat int    `json:"robotExpirAt"`
}

roomid long 聊天室id accid String 用户accid nick String 聊天室内的昵称 avator String 聊天室内的头像 ext String 开发者扩展字段 type String 角色类型UNSET(未设置),LIMITED(受限用户,黑名单或禁言)COMMON(普通固定成员)CREATOR(创建者),MANAGER(管理员),TEMPORARY(临时用户,非固定成员) level int 成员级别(若未设置成员级别,则无此字段) onlineStat Boolean 是否在线 enterTime long 进入聊天室的时间点 blacklisted Boolean 是否在黑名单中(若未被拉黑,则无此字段) muted Boolean 是否被禁言(若未被禁言,则无此字段) tempMuted Boolean 是否被临时禁言(若未被临时禁言,则无此字段) tempMuteTtl long 临时禁言的解除时长,单位秒(若未被临时禁言,则无此字段) isRobot Boolean 是否是聊天室机器人(若不是机器人,则无此字段) robotExpirAt int 机器人失效的时长,单位秒(若不是机器人,则无此字段

type ChatRoomMemberResp added in v0.0.13

type ChatRoomMemberResp struct {
	Desc struct {
		Data []ChatRoomMember `json:"data"`
	} `json:"desc"`
	Code int `json:"code"`
}

type Chatroom

type Chatroom struct {
	Creator         string `json:"creator"`
	Name            string `json:"name" `
	Announcement    string `json:"announcement" `
	Broadcasturl    string `json:"broadcasturl" `
	Ext             string `json:"ext" `
	Queuelevel      int    `json:"queuelevel" `
	Roomid          int    `json:"roomid"`
	Valid           bool   `json:"valid"`
	Muted           bool   `json:"muted"`
	Onlineusercount int    `json:"onlineusercount"`
	Ionotify        bool   `json:"ionotify"`
}

creator String 是 聊天室属主的账号accid name String 是 聊天室名称,长度限制128个字符 announcement String 否 公告,长度限制4096个字符 broadcasturl String 否 直播地址,长度限制1024个字符 ext String 否 扩展字段,最长4096字符 queuelevel int 否 队列管理权限:0:所有人都有权限变更队列,1:只有主播管理员才能操作变更。默认0

type ChatroomMsg

type ChatroomMsg struct {
	Roomid                    string `json:"roomid" `
	MsgId                     string `json:"msgId" `
	FromAccid                 string `json:"fromAccid" `
	MsgType                   int    `json:"msgType" `
	ResendFlag                int    `json:"resendFlag" `
	Attach                    string `json:"attach" `
	Ext                       string `json:"ext" `
	SkipHistory               int    `json:"skipHistory" `
	AbandonRatio              int    `json:"abandonRatio" `
	HighPriority              bool   `json:"highPriority" `
	NeedHighPriorityMsgResend bool   `json:"needHighPriorityMsgResend" `
	UseYidun                  int    `json:"useYidun" `
	Bid                       string `json:"bid" `
	Antispam                  string `json:"antispam" `
	AntispamCustom            string `json:"antispamCustom" `
}

roomid long 是 聊天室id msgId String 是 客户端消息id,使用uuid等随机串,msgId相同的消息会被客户端去重 fromAccid String 是 消息发出者的账号accid msgType int 是 消息类型: 0: 表示文本消息, 1: 表示图片, 2: 表示语音, 3: 表示视频, 4: 表示地理位置信息, 6: 表示文件, 10: 表示Tips消息, 100: 自定义消息类型(特别注意,对于未对接易盾反垃圾功能的应用,该类型的消息不会提交反垃圾系统检测) resendFlag int 否 重发消息标记,0:非重发消息,1:重发消息,如重发消息会按照msgid检查去重逻辑 attach String 否 文本消息:填写消息文案; 其它类型消息,请参考 消息格式示例; 长度限制4096字符 ext String 否 消息扩展字段,内容可自定义,请使用JSON格式,长度限制4096字符 skipHistory int 否 是否跳过存储云端历史,0:不跳过,即存历史消息;1:跳过,即不存云端历史;默认0 abandonRatio int 否 可选,消息丢弃的概率。取值范围[0-9999]; 其中0代表不丢弃消息,9999代表99.99%的概率丢弃消息,默认不丢弃; 注意如果填写了此参数,下面的highPriority参数则会无效; 此参数可用于流控特定业务类型的消息。 highPriority Boolean 否 可选,true表示是高优先级消息,云信会优先保障投递这部分消息;false表示低优先级消息。默认false。 强烈建议应用恰当选择参数,以便在必要时,优先保障应用内的高优先级消息的投递。若全部设置为高优先级,则等于没有设置。 高优先级消息可以设置进入后重发,见needHighPriorityMsgResend参数 needHighPriorityMsgResend Boolean 否 可选,true表示会重发消息,false表示不会重发消息。默认true。注:若设置为true, 用户离开聊天室之后重新加入聊天室,在有效期内还是会收到发送的这条消息,目前有效期默认30s。在没有配置highPriority时needHighPriorityMsgResend不生效。 useYidun int 否 可选,单条消息是否使用易盾反垃圾,可选值为0。 0:(在开通易盾的情况下)不使用易盾反垃圾而是使用通用反垃圾,包括自定义消息。

若不填此字段,即在默认情况下,若应用开通了易盾反垃圾功能,则使用易盾反垃圾来进行垃圾消息的判断 bid String 否 可选,反垃圾业务ID,实现“单条消息配置对应反垃圾”,若不填则使用原来的反垃圾配置 antispam String 否 对于对接了易盾反垃圾功能的应用,本消息是否需要指定经由易盾检测的内容(antispamCustom)。 true或false, 默认false。 只对消息类型为:100 自定义消息类型 的消息生效。 antispamCustom String 否 在antispam参数为true时生效。 自定义的反垃圾检测内容, JSON格式,长度限制同body字段,不能超过5000字符,要求antispamCustom格式如下:

{"type":1,"data":"custom content"}

字段说明: 1. type: 1:文本,2:图片。 2. data: 文本内容or图片地址。

type ChatroomRequest

type ChatroomRequest struct {
	Roomid     string `json:"roomid"`
	Accid      string `json:"accid"`
	Clienttype int    `json:"clienttype" `
	Clientip   string `json:"clientip" `
}

roomid long 是 聊天室id accid String 是 进入聊天室的账号 clienttype int 否 1:weblink(客户端为web端时使用); 2:commonlink(客户端为非web端时使用);3:wechatlink(微信小程序使用), 默认1 clientip String 否 客户端ip,传此参数时,会根据用户ip所在地区,返回合适的地址

type ChatroomRobot

type ChatroomRobot struct {
	Roomid    string   `json:"roomid" `
	Accids    []string `json:"accids" `
	RoleExt   string   `json:"roleExt" `
	NotifyExt string   `json:"notifyExt" `
}

roomid long 是 聊天室id accids JSONArray 是 机器人账号accid列表,必须是有效账号,账号数量上限100个 roleExt String 否 机器人信息扩展字段,请使用json格式,长度4096字符 notifyExt String 否 机器人进入聊天室通知的扩展字段,请使用json格式,长度2048字符

type File

type File struct {
	Content   string `json:"content" `
	FileType  string `json:"type" `
	Ishttps   string `json:"ishttps"`
	ExpireSec int    `json:"expireSec"`
	Tag       string `json:"tag"`
}

content String 是 字符流base64串(Base64.encode(bytes)) ,最大15M的字符流 type String 否 上传文件类型 ishttps String 否 返回的url是否需要为https的url,true或false,默认false expireSec Integer 否 文件过期时长,单位:秒,必须大于等于86400 tag String 否 文件的应用场景,不超过32个字符

type Friend

type Friend struct {
	Accid    string `json:"accid"`
	Faccid   string `json:"faccid"`
	Type     int    `json:"type"`
	Msg      string `json:"msg"`
	Serverex string `json:"serverex"`
	Alias    string `json:"alias"`
	Ex       string `json:"ex"`
}

accid String 是 加好友发起者accid faccid String 是 加好友接收者accid type int 是 1直接加好友,2请求加好友,3同意加好友,4拒绝加好友 msg String 否 加好友对应的请求消息,第三方组装,最长256字符 serverex String 否 服务器端扩展字段,限制长度256 此字段client端只读,server端读写 ex String 否 修改ex字段,限制长度256,可设置为空字符串 alias String 否 给好友增加备注名,限制长度128,可设置为空字符串

type Group

type Group struct {
	Tname           string `json:"tname" `
	Owner           string `json:"owner" `
	Members         string `json:"members" `
	Announcement    string `json:"announcement" `
	Intro           string `json:"intro" `
	Msg             string `json:"msg" `
	Magree          string `json:"magree" `
	Joinmode        string `json:"joinmode" `
	Custom          string `json:"custom" `
	Icon            string `json:"icon" `
	Beinvitemode    string `json:"beinvitemode" `
	Invitemode      int    `json:"invitemode" `
	Uptinfomode     int    `json:"uptinfomode" `
	Upcustommode    int    `json:"upcustommode" `
	TeamMemberLimit int    `json:"teamMemberLimit" `
}

tname String 是 群名称,最大长度64字符 owner String 是 群主用户帐号,最大长度32字符 members String 是 邀请的群成员列表。["aaa","bbb"](JSONArray对应的accid,如果解析出错会报414),members与owner总和上限为200。members中无需再加owner自己的账号。 announcement String 否 群公告,最大长度1024字符 intro String 否 群描述,最大长度512字符 msg String 是 邀请发送的文字,最大长度150字符 magree int 是 管理后台建群时,0不需要被邀请人同意加入群,1需要被邀请人同意才可以加入群。其它会返回414 joinmode int 是 群建好后,sdk操作时,0不用验证,1需要验证,2不允许任何人加入。其它返回414 custom String 否 自定义高级群扩展属性,第三方可以跟据此属性自定义扩展自己的群属性。(建议为json),最大长度1024字符 icon String 否 群头像,最大长度1024字符 beinvitemode int 否 被邀请人同意方式,0-需要同意(默认),1-不需要同意。其它返回414 invitemode int 否 谁可以邀请他人入群,0-管理员(默认),1-所有人。其它返回414 uptinfomode int 否 谁可以修改群资料,0-管理员(默认),1-所有人。其它返回414 upcustommode int 否 谁可以更新群自定义属性,0-管理员(默认),1-所有人。其它返回414 teamMemberLimit int 否 该群最大人数(包含群主),范围:2至应用定义的最大群人数(默认:200)。其它返回414

type Logger added in v0.0.8

type Logger interface {
	Errorf(format string, args ...interface{})
	Fatalf(format string, args ...interface{})
	Fatal(args ...interface{})
	Infof(format string, args ...interface{})
	Info(args ...interface{})
	Warnf(format string, args ...interface{})
	Debugf(format string, args ...interface{})
	Debug(args ...interface{})
}

type MemberRole

type MemberRole struct {
	Roomid    string `json:"roomid" `
	Operator  string `json:"operator"`
	Target    string `json:"target"`
	Opt       int    `json:"opt"`
	Optvalue  string `json:"optvalue"`
	NotifyExt string `json:"notify_ext"`
}

roomid long 是 聊天室id operator String 是 操作者账号accid target String 是 被操作者账号accid opt int 是 操作: 1: 设置为管理员,operator必须是创建者 2:设置普通等级用户,operator必须是创建者或管理员 -1:设为黑名单用户,operator必须是创建者或管理员 -2:设为禁言用户,operator必须是创建者或管理员 optvalue String 是 true或false,true:设置;false:取消设置; 执行“取消”设置后,若成员非禁言且非黑名单,则变成游客 notifyExt String 否 通知扩展字段,长度限制2048,请使用json格式

type Msg

type Msg struct {
	From             string `json:"from" `
	Ope              int    `json:"ope" `
	To               string `json:"to" `
	Type             int    `json:"type" `
	Body             string `json:"body"`
	Antispam         string `json:"antispam" `
	AntispamCustom   string `json:"antispamCustom"`
	Option           string `json:"option"`
	Pushcontent      string `json:"pushcontent"`
	Payload          string `json:"payload"`
	Ext              string `json:"ext"`
	Forcepushlist    string `json:"forcepushlist"`
	Forcepushcontent string `json:"forcepushcontent"`
	Forcepushall     string `json:"forcepushall"`
	Bid              string `json:"bid"`
	UseYidun         int    `json:"useYidun"`
	MarkRead         int    `json:"mark_read"`
	CheckFriend      bool   `json:"check_friend" `
}

from String 是 发送者accid,用户帐号,最大32字符, 必须保证一个APP内唯一 ope int 是 0:点对点个人消息,1:群消息(高级群),其他返回414 to String 是 ope==0是表示accid即用户id,ope==1表示tid即群id type int 是 0 表示文本消息, 1 表示图片, 2 表示语音, 3 表示视频, 4 表示地理位置信息, 6 表示文件, 10 表示提示消息, 100 自定义消息类型(特别注意,对于未对接易盾反垃圾功能的应用,该类型的消息不会提交反垃圾系统检测) body String 是 最大长度5000字符,JSON格式。 具体请参考: 消息格式示例 antispam String 否 对于对接了易盾反垃圾功能的应用,本消息是否需要指定经由易盾检测的内容(antispamCustom)。 true或false, 默认false。 只对消息类型为:100 自定义消息类型 的消息生效。 antispamCustom String 否 在antispam参数为true时生效。 自定义的反垃圾检测内容, JSON格式,长度限制同body字段,不能超过5000字符,要求antispamCustom格式如下: {"type":1,"data":"custom content"}

字段说明: 1. type: 1:文本,2:图片。 2. data: 文本内容or图片地址。 option String 否 发消息时特殊指定的行为选项,JSON格式,可用于指定消息的漫游,存云端历史,发送方多端同步,推送,消息抄送等特殊行为;option中字段不填时表示默认值 ,option示例:

{"push":false,"roam":true,"history":false,"sendersync":true,"route":false,"badge":false,"needPushNick":true}

字段说明: 1. roam: 该消息是否需要漫游,默认true(需要app开通漫游消息功能); 2. history: 该消息是否存云端历史,默认true; 3. sendersync: 该消息是否需要发送方多端同步,默认true; 4. push: 该消息是否需要APNS推送或安卓系统通知栏推送,默认true; 5. route: 该消息是否需要抄送第三方;默认true (需要app开通消息抄送功能); 6. badge:该消息是否需要计入到未读计数中,默认true; 7. needPushNick: 推送文案是否需要带上昵称,不设置该参数时默认true; 8. persistent: 是否需要存离线消息,不设置该参数时默认true。 pushcontent String 否 推送文案,最长500个字符。具体参见 推送配置参数详解。 payload String 否 必须是JSON,不能超过2k字符。该参数与APNs推送的payload含义不同。具体参见 推送配置参数详解。 ext String 否 开发者扩展字段,长度限制1024字符 forcepushlist String 否 发送群消息时的强推用户列表(云信demo中用于承载被@的成员),格式为JSONArray,如["accid1","accid2"]。若forcepushall为true,则forcepushlist为除发送者外的所有有效群成员 forcepushcontent String 否 发送群消息时,针对强推列表forcepushlist中的用户,强制推送的内容 forcepushall String 否 发送群消息时,强推列表是否为群里除发送者外的所有有效成员,true或false,默认为false bid String 否 可选,反垃圾业务ID,实现“单条消息配置对应反垃圾”,若不填则使用原来的反垃圾配置 useYidun int 否 可选,单条消息是否使用易盾反垃圾,可选值为0。 0:(在开通易盾的情况下)不使用易盾反垃圾而是使用通用反垃圾,包括自定义消息。

若不填此字段,即在默认情况下,若应用开通了易盾反垃圾功能,则使用易盾反垃圾来进行垃圾消息的判断 markRead int 否 可选,群消息是否需要已读业务(仅对群消息有效),0:不需要,1:需要 checkFriend boolean 否 是否为好友关系才发送消息,默认否 注:使用该参数需要先开通功能服务

type MsgResult

type MsgResult struct {
	Msgid    int64 `json:"msgid"`
	Timetag  int64 `json:"timetag"`
	Antispam bool  `json:"antispam"`
}

type NetEaseIM

type NetEaseIM struct {
	// contains filtered or unexported fields
}

func NewNetEaseIM

func NewNetEaseIM(appKey, secret string) *NetEaseIM

func (NetEaseIM) AddFriend

func (n NetEaseIM) AddFriend(friend Friend) error

加好友

func (NetEaseIM) AddRobot

func (n NetEaseIM) AddRobot(r ChatroomRobot) error

func (NetEaseIM) BlockAccount

func (n NetEaseIM) BlockAccount(accid string, needkick string, kickNotifyExt string) (string, error)

1.封禁网易云通信ID后,此ID将不能再次登录。若封禁时,该id处于登录状态,则当前登录不受影响,仍然可以收发消息。封禁效果会在下次登录时生效。因此建议, 将needkick设置为true,让该账号同时被踢出登录。 2.出于安全目的,账号创建后只能封禁,不能删除;封禁后账号仍计入应用内账号总数。 参数 类型 必须 说明 accid String 是 网易云通信ID,最大长度32字符,必须保证一个 APP内唯一 needkick String 否 是否踢掉被禁用户,true或false,默认false kickNotifyExt String 否 踢人时的扩展字段,SDK版本需要大于等于v7.7.0//

func (NetEaseIM) CleanNOS

func (n NetEaseIM) CleanNOS(nos Nos) (string, error)

上传NOS文件清理任务,按时间范围和文件类下、场景清理符合条件的文件 每天提交的任务数量有限制,请合理规划 关于startTime与endTime请注意: startTime必须小于endTime且大于0,endTime和startTime差值在1天以上,7天以内。 endTime必须早于今天(即只可以清理今天以前的文件

func (NetEaseIM) CleanRobot added in v0.0.13

func (n NetEaseIM) CleanRobot(req RobotReq) (RobotRes, error)

CleanRobot 清空聊天室机器人

func (NetEaseIM) CreateAccount

func (n NetEaseIM) CreateAccount(account Account) (string, error)

第三方帐号导入到网易云通信平台。注册成功后务必在自身的应用服务器上维护好accid与token。 注意accid,name长度以及考虑管理token。 云信应用内的accid若涉及字母,请一律为小写,并确保服务端与所有客户端均保持小写

func (NetEaseIM) CreateChatroom

func (n NetEaseIM) CreateChatroom(room Chatroom) (Chatroom, error)

创建聊天室

func (NetEaseIM) CreateGroup

func (n NetEaseIM) CreateGroup(group Group) (string, error)

创建高级群,以邀请的方式发送给用户; custom 字段是给第三方的扩展字段,第三方可以基于此字段扩展高级群的功能,构建自己需要的群; 建群成功会返回tid,需要保存,以便于加人与踢人等后续操作; 每个用户可创建的群数量有限制,限制值由 IM 套餐的群组配置决定,可登录管理后台查看。

func (NetEaseIM) DeleteFriend

func (n NetEaseIM) DeleteFriend(accid string, faccid string, isDeleteAlias string) error

删除好友关系 accid String 是 发起者accid faccid String 是 要删除朋友的accid isDeleteAlias Boolean 否 是否需要删除备注信息 默认false:不需要,true:需要

func (NetEaseIM) GetBatchChatroom

func (n NetEaseIM) GetBatchChatroom(roomids string, needOnlineUserCount string) ([]Chatroom, error)

批量查询聊天室信息 roomids String 是 多个roomid,格式为:["6001","6002","6003"](JSONArray对应的roomid,如果解析出错,会报414错误),限20个roomid needOnlineUserCount String 否 是否需要返回在线人数,true或false,默认false

func (NetEaseIM) GetChatroom

func (n NetEaseIM) GetChatroom(roomid string, needOnlineUserCount string) (Chatroom, error)

查询聊天室信息 roomid long 是 聊天室id needOnlineUserCount String 否 是否需要返回在线人数,true或false,默认false

func (NetEaseIM) GetFriend

func (n NetEaseIM) GetFriend(accid string, updatetime string) ([]Bidirection, error)

获取好友关系 查询某时间点起到现在有更新的双向好友 accid String 是 发起者accid updatetime Long 是 更新时间戳,接口返回该时间戳之后有更新的好友列表

func (NetEaseIM) GetUinfo

func (n NetEaseIM) GetUinfo(accids string) ([]Account, error)

获取用户名片,可批量 accids String 是 用户帐号(例如:JSONArray对应的accid串,如:["zhangsan"],如果解析出错,会报414)(一次查询最多为200)

func (NetEaseIM) ListBlackAndMuteList

func (n NetEaseIM) ListBlackAndMuteList(accid string) ([]string, []string, error)

查看指定用户的黑名单和静音列表 accid String 是 用户帐号,最大长度32字符,必须保证一个 APP内唯一

func (NetEaseIM) ListChatRoomMember added in v0.0.13

func (n NetEaseIM) ListChatRoomMember(req RobotReq) ([]ChatRoomMember, error)

ListChatRoomMember 分页获取成员列表

func (NetEaseIM) Mute

func (n NetEaseIM) Mute(accid, mute string) error

设置或取消账号的全局禁言状态; 账号被设置为全局禁言后,不能发送“点对点”、“群”、“聊天室”消息 accid String 是 用户帐号 mute Boolean 是 是否全局禁言: true:全局禁言,false:取消全局禁言

func (NetEaseIM) MuteAV

func (n NetEaseIM) MuteAV(accid, mute string) error

账号全局禁用音视频 设置或取消账号是否可以发起音视频功能; 账号被设置为禁用音视频后,不能发起点对点音视频、创建多人音视频、发起点对点白板、创建多人白板

func (NetEaseIM) RefreshToken

func (n NetEaseIM) RefreshToken(accid string) (string, error)

由云信webserver随机重置网易云通信ID的token,同时将新的token返回,更新后请开发者务必做好本地的维护。 此接口与网易云通信token更新接口最大的区别在于:前者的token是由云信服务器指定,后者的token是由开发者自己指定。 accid String 是 网易云通信ID,最大长度32字符,必须保证一个APP内唯一

func (NetEaseIM) RemoveRobot added in v0.0.9

func (n NetEaseIM) RemoveRobot(req RobotReq) (RobotRes, error)

func (NetEaseIM) RequestAddr

func (n NetEaseIM) RequestAddr(r ChatroomRequest) ([]string, error)

请求聊天室地址与令牌

func (NetEaseIM) SendAttachMsg

func (n NetEaseIM) SendAttachMsg(msg AttachMsg) error

发送自定义系统通知 1.自定义系统通知区别于普通消息,方便开发者进行业务逻辑的通知; 2.目前支持两种类型:点对点类型和群类型(仅限高级群),根据msgType有所区别。 应用场景:如某个用户给另一个用户发送好友请求信息等,具体attach为请求消息体,第三方可以自行扩展,建议是json格式

func (NetEaseIM) SendBatchAttachMsg

func (n NetEaseIM) SendBatchAttachMsg(msg AttachMsg) error

1.系统通知区别于普通消息,应用接收到直接交给上层处理,客户端可不做展示; 2.目前支持类型:点对点类型; 3.最大限500人,只能针对个人,如果批量提供的帐号中有未注册的帐号,会提示并返回给用户; 4.此接口受频率控制,一个应用一分钟最多调用120次,超过会返回416状态码,并且被屏蔽一段时间;

func (NetEaseIM) SendBatchMsg

func (n NetEaseIM) SendBatchMsg(msg BatchMsg) (string, error)

批量发送点对点普通消息 1.给用户发送点对点普通消息,包括文本,图片,语音,视频,地理位置和自定义消息。 2.最大限500人,只能针对个人,如果批量提供的帐号中有未注册的帐号,会提示并返回给用户。 3.此接口受频率控制,一个应用一分钟最多调用120次,超过会返回416状态码,并且被屏蔽一段时间; 具体消息参考下面描述。

func (NetEaseIM) SendBroadcastMsg added in v0.0.13

func (n NetEaseIM) SendBroadcastMsg(msg BroadcastMsgReq) (*BroadcastMsgResp, error)

接口描述 1、使用广播消息前,请务必阅读注意事项,详见关于广播消息。 2、广播消息,可以对应用内的所有用户发送广播消息,广播消息目前暂不支持第三方推送(APNS、小米、华为等); 3、广播消息支持离线存储,并可以自定义设置离线存储的有效期,最多保留最近100条离线广播消息; 4、此接口受频率控制,一个应用一分钟最多调用10次,一天最多调用1000次,超过会返回416状态码; 5、该功能目前需申请开通,详情可咨询您的客户经理。

func (NetEaseIM) SendChatRoomMsg

func (n NetEaseIM) SendChatRoomMsg(r ChatroomMsg) error

往聊天室内发消息

func (NetEaseIM) SendMsg

func (n NetEaseIM) SendMsg(msg Msg) (MsgResult, error)

发送普通消息 给用户或者高级群发送普通消息,包括文本,图片,语音,视频和地理位置

func (*NetEaseIM) SetDebug added in v0.0.5

func (n *NetEaseIM) SetDebug(b bool)

func (NetEaseIM) SetDonnop

func (n NetEaseIM) SetDonnop(accid, donnopOpen string) error

设置桌面端在线时,移动端是否需要推送 accid String 是 用户帐号 donnopOpen String 是 桌面端在线时,移动端是否不推送: true:移动端不需要推送,false:移动端需要推送

func (*NetEaseIM) SetLog added in v0.0.5

func (n *NetEaseIM) SetLog(log Logger)

func (NetEaseIM) SetMemberRole

func (n NetEaseIM) SetMemberRole(r MemberRole) error

设置聊天室内用户角色

func (NetEaseIM) SetSpecialRelation

func (n NetEaseIM) SetSpecialRelation(special SpecialRelation) error

拉黑/取消拉黑;设置静音/取消静音

func (NetEaseIM) ToggleCloseStat

func (n NetEaseIM) ToggleCloseStat(roomid string, operator string, valid string) error

roomid long 是 聊天室id operator String 是 操作者账号,必须是创建者才可以操作 valid String 是 true或false,false:关闭聊天室;true:打开聊天室

func (NetEaseIM) UnBlockAccount

func (n NetEaseIM) UnBlockAccount(accid string) error

解禁被封禁的网易云通信ID accid String 是 网易云通信ID,最大长度32字符,必须保证一个 APP内唯一

func (NetEaseIM) UpdateAccount

func (n NetEaseIM) UpdateAccount(accid, token string) error

更新网易云通信token。通过该接口,可以对accid更新到指定的token,更新后请开发者务必做好本地的维护。更新后,需要确保客户端SDK再次登录时携带的token保持最新。 accid String 是 网易云通信ID,最大长度32字符,必须保证一个 APP内唯一 props String 否 该参数已不建议使用。 token String 否 网易云通信ID可以指定登录token值,最大长度128字符

func (NetEaseIM) UpdateChatroom

func (n NetEaseIM) UpdateChatroom(room Chatroom) error

func (NetEaseIM) UpdateFriend

func (n NetEaseIM) UpdateFriend(special Friend) error

更新好友相关信息,如加备注名,必须是好友才可以

func (NetEaseIM) UpdateUinfo

func (n NetEaseIM) UpdateUinfo(account Account) error

更新用户名片。用户名片中包含的用户信息,在群组、聊天室等场景下,会暴露给群组、聊天室内的其他用户。 这些字段里mobile,email,birth,gender等字段属于非必填、可能涉及隐私的信息,如果您的业务下,这些信息为敏感信息 ,建议在通过扩展字段ex填写相关资料并事先加密

func (NetEaseIM) Upload

func (n NetEaseIM) Upload(file File) (string, error)

文件上传,字符流需要base64编码,最大15M。

type Nos

type Nos struct {
	StartTime   string `json:"startTime" `
	EndTime     string `json:"endTime" `
	ContentType string `json:"contentType" `
	Tag         string `json:"tag"`
}

startTime Long 是 被清理文件的开始时间(毫秒级) endTime Long 是 被清理文件的结束时间(毫秒级) contentType String 否 被清理的文件类型,文件类型包含contentType则被清理 如原始文件类型为"image/png",contentType参数为"image",则满足被清理条件 tag String 否 被清理文件的应用场景,完全相同才被清理 如上传文件时知道场景为"usericon",tag参数为"usericon",则满足被清理条件

type RobotDesc added in v0.0.9

type RobotDesc struct {
	FailAccids    string `json:"failAccids"`
	SuccessAccids string `json:"successAccids"`
}

type RobotReq added in v0.0.9

type RobotReq struct {
	RoomId  string   `json:"roomid"`
	Notify  bool     `json:"notify,omitempty"`
	Accids  []string `json:"accids,omitempty"`
	Type    int      `json:"type,omitempty"`
	Endtime int      `json:"endtime,omitempty"`
	Limit   int      `json:"limit,omitempty"`
}

RoomId long 是 聊天室id Notify int 需要查询的成员类型,0:固定成员;1:非固定成员;2:仅返回在线的固定成员 Endtime long 单位毫秒,按时间倒序最后一个成员的时间戳,0表示系统当前时间 Limit long 返回条数,<=100 Accids array 机器人账号accid列表,必须是有效账号,账号数量上限100个 Type int 需要查询的成员类型,0:固定成员;1:非固定成员;2:仅返回在线的固定成员

type RobotRes added in v0.0.9

type RobotRes struct {
	Code int       `json:"code"`
	Desc RobotDesc `json:"desc"`
}

type SpecialRelation

type SpecialRelation struct {
	Accid        string `json:"accid"`
	TargetAcc    string `json:"target_acc"`
	RelationType int    `json:"relation_type"`
	Value        int    `json:"value"`
}

accid String 是 用户帐号,最大长度32字符,必须保证一个 APP内唯一 targetAcc String 是 被加黑或加静音的帐号 relationType int 是 本次操作的关系类型,1:黑名单操作,2:静音列表操作 value int 是 操作值,0:取消黑名单或静音,1:加入黑名单或静音

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL