环信Restfull API dotnetSDK
Easemob.Restfull4Net
环信Restfull API dotnet的封装
支持的.Net Framework版本:4.0
API地址:http://docs.easemob.com/start/100serverintegration
一、SDK的使用说明:
采用配置节点的形势来设置环信,且一次可以支持多个app进行调用,在数据处理上,全部采用强类型实体进行包装,异常处理全部数据错误日志,方便查询。
以下为配置节点的使用方法:
1、采用Section的形式配置app,这种方式有个好处,可以连续配置多个app。
<configSections>
<section name="EasemobServer" type="Easemob.Restfull4Net.Config.Configuration.ServerConfigSection,Easemob.Restfull4Net"/>
</configSections>
<EasemobServer>
<!--
备注:此节点可添加多个
serverUrl:环信服务器地址
orgName:组织名,对应#前面部分
appName:应用名,对应#后面部分
clientId:客户端ID
clientSecret:客户端密钥
httpTimeOut:请求超时设置(以毫秒为单位)
isDebug:是否为调试模式,说明:如果为调试模式,将在程序主目录输出日志文件
maxJsonLength:JavaScriptSerializer类接受的JSON字符串的最大长度
-->
<server
serverUrl="https://a1.easemob.com/"
orgName="orgName"
appName="appName1"
clientId="clientId1"
clientSecret="clientSecret1"
httpTimeOut=""
isDebug="true"
maxJsonLength="">
</server>
<server
serverUrl="https://a1.easemob.com/"
orgName="orgName"
appName="appName2"
clientId="clientId2"
clientSecret="clientSecret2"
httpTimeOut=""
isDebug="true"
maxJsonLength="">
</server>
</EasemobServer>
2、使用自定义节点配置,目前SDK封装的只能使用一个app。
<add key="HX_EaseServerUrl" value="https://a1.easemob.com/"/><!--环信服务器地址-->
<add key="HX_EaseAppClientID" value="clientId3"/><!--客户端ID-->
<add key="HX_EaseAppClientSecret" value="clientSecret3"/><!--客户端密钥-->
<add key="HX_EaseAppName" value="appName3"/><!--应用名,对应#后面部分-->
<add key="HX_EaseAppOrgName" value="orgName"/><!--组织名,对应#前面部分-->
<add key="HX_EaseHttpTimeOut" value=""/><!--请求超时设置(以毫秒为单位)-->
<add key="HX_EaseIsDebug" value="true"/><!--是否为调试模式,说明:如果为调试模式,将在程序主目录输出日志文件-->
<add key="HX_EaseMaxJsonLength" value=""/><!--JavaScriptSerializer类接受的JSON字符串的最大长度-->
3、使用代码的硬编码形式启动app。
//自定义实例化
var syncRequest = new SyncRequest(new ServerConfig()
{
OrgName = "",
AppName = "",
ClientId = "",
ClientSecret = "",
IsDebug = true,
});
以下为实际代码使用
在SDK内容,已经将配置的节点都封装进Client,在使用的时候只要直接使用Client提供的方法即可
如:我想在创建一个用户时的代码如下:
//单个创建
var user = Client.DefaultSyncRequest.UserCreate(new UserCreateReqeust()
{
nickname = string.Concat("Test", this._userName, ""),
password = "",
username = string.Concat("Test", this._userName, ""),
});
Assert.AreEqual(user.StatusCode, HttpStatusCode.OK);
如:我集成了多个app时,DefaultSyncRequest默认返回第一个,而我要使用特定的某个app时,代码如下:
//单个创建
var user = Client.SyncRequests["app2"].UserCreate(new UserCreateReqeust()
{
nickname = string.Concat("Test", this._userName, ""),
password = "",
username = string.Concat("Test", this._userName, ""),
});
Assert.AreEqual(user.StatusCode, HttpStatusCode.OK);
其中SyncRequests中的key就是你在环信的appname。
二、目前SDK的封装进度:
同步请求:
【完成】用户体系集成
【完成】聊天记录
【完成】文件上传下载
【完成】发送消息
【完成】群组管理
【完成】聊天室管理
异步请求:
【未开始】
dotnet core版本:
【计划开始同步请求】
(备注:以上为目前的开发进度,且上面完成的功能都已经投入使用,后续将完成剩下的api封装;目前整个SDK都是使用同步请求进行,还未加入异步请求,后续也将集成进去。)
三、版本更新历史
*******************************************************
version:1.2.0.36217 data:2016-10-27
1、新增群组管理和聊天室管理API
2、修复以往的一些BUG和性能
3、统一内部和外部一致的版本号命名
*******************************************************
*******************************************************
version:1.0.2 data:2016-08-31
1、修复缓存和同步请求时的头不变的BUG,并增加token失效时的重试机制
2、增加Winform和Webform的集成例子
3、最新的NuGet包已经上传,并增加config文件的自动增加功能
*******************************************************
*******************************************************
version:1.0.1 data:2016-08-22
1.修改单元测试项目,其中测试的图片上传采用网络图片
2.加入NAnt进行持续集成,如果要采用NAnt进行build,需要确定本机安装啦NAnt工具,且由于项目中的单元测试项目使用的是MSTest,所以要确保编译的机器上已经安装此组件;NAnt.build文件中有设置依赖组件的组件,打开编辑成所在编译机器路径即可
*******************************************************
*******************************************************
version:1.0.0 data:2016-08-10
初始版本发布 完成同步请求的“用户体系集成”,“聊天记录”,“文件上传下载”,“发送消息”
*******************************************************
四、项目相关地址
源码:https://github.com/easonjim/Easemob.Restfull4Net
bug提交:https://github.com/easonjim/Easemob.Restfull4Net/issues
Release版本:https://github.com/easonjim/Easemob.Restfull4Net/releases
NuGet:https://www.nuget.org/packages/Easemob.Restfull4Net/
环信Restfull API dotnetSDK的更多相关文章
- 环信REST API python SDK
今天鼓起勇气,决定把这个贡献出来.不敢误人子弟,也一直担心,在不良质量的产品会祸害人,但自己已经使用,它本身也没技术. 平庸的代码,高效地实用,为环信贡献点力,如有问题,欢迎斧正,一起学习,一起成长, ...
- 基于环信的仿QQ即时通讯的简单实现
代码地址如下:http://www.demodashi.com/demo/11645.html 我的博客地址 之前一直想实现聊天的功能,但是感觉有点困难,今天看了环信的API,就利用下午的时间动手试了 ...
- 环信-(php)服务器端REST API
<?php namespace Home\Controller; use Think\Controller; /** * 环信-服务器端REST API * @author limx <l ...
- iOS-即时通讯-环信
下载地址:http://www.easemob.com/downloads SDK目录讲解 1.从官网下载下来的包分为如下四部分: 环信iOS SDK 开发使用 环信iOS release note ...
- 集成IOS 环信SDK
集成IOS SDK 在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念. 下载SDK 通过Cocoapods下载地址 不包含实时语音版本SDK(EaseMobC ...
- Android 环信的使用
1.导入包 http://docs.easemob.com/doku.php?id=start:200androidcleintintegration:10androidsdkimport 在清单文件 ...
- 李洪强iOS开发之-环信03_集成 SDK 基础功能
李洪强iOS开发之-环信03_集成 SDK 基础功能 集成 SDK 基础功能 在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念. SDK 同步/异步方法区分 ...
- 李洪强iOS开发之-环信02.2_环信官网下载环信 SDK
李洪强iOS开发之-环信02.2_环信官网下载环信 SDK 移动客服即时通讯云 iOS SDK 当前版本:V3.1.4 2016-07-08 [ 版本历史 ] | 开发指南 | 知识库 | Demo源 ...
- 李洪强iOS开发之-环信02_iOS SDK 介绍及导入
李洪强iOS开发之-环信02_iOS SDK 介绍及导入 iOS SDK 介绍及导入 iOS SDK 介绍 环信 SDK 为用户开发 IM 相关的应用提供的一套完善的开发框架.包括以下几个部分: SD ...
随机推荐
- 数据库 SQL语法一
建立表语句 CREATE TABLE TABLENAME(COL_NAME1 TYPE,COL_NAME2 TYPE,......); 常用TYPE说明 INT 正数 CHAR(LENGTH) 定长字 ...
- 《深入理解Bootstrap》勘误
感谢大家 感谢大家仔细阅读本书,并给本书指出了那么多的错误,下次重印时,一定会修正. 勘误列表 ID 发行人 章节 原文 更新文 备注 1 剑衣清风(微博) 1.5选择器(p7) [att$=valu ...
- 【转】aspx与aspx.cs的关系
原文地址: http://www.cnblogs.com/axzxs2001/archive/2009/01/19/1378383.html 在vs中,有很多朋友问起,在一个网站项目中的aspx和as ...
- 网页上传图片 判断类型 检测大小 剪切图片 ASP.NET版本
本文转载自:http://www.youarebug.com/forum.php?mod=viewthread&tid=56&extra=page%3D1 我们在网页上传图片的时候,特 ...
- 用js转换joson返回数据库的时间格式为/Date(*************)/
原理是取中间的毫秒数,再转换成js的Date类型 function ChangeDateFormat(val) { if (val != null) { var date = new Date(par ...
- JVM内存管理------杂谈(借此也论一论obj=null)
各位园友好,LZ是从某网站转战过来的博主,看到这里很多博主都称看友们为园友,LZ斗胆模仿一下,不过以前,LZ其实都是称看友们为猿友的.之前LZ在某网站已经写了一系列文章,已经全部复制到了园内的新博客, ...
- Who Says What to Whom on Twitter-www2011-20160512
分析性论文 what: who? 本文将Twitter中的用户分为了两大类--普通用户和精英用户,精英用户又被分为四类,分别为媒体(media).名人(celebrities).博主(bloggers ...
- [转]史上最全最强SpringMVC详细示例实战教程
原文:http://www.cnblogs.com/sunniest/p/4555801.html?utm_source=tuicool&utm_medium=referral SpringM ...
- 获取 AlertDialog自定义的布局 的控件
AlertDialog自定义的布局 效果图: 创建dialog方法的代码如下: 1 LayoutInflater inflater = getLayoutInflater(); 2 View layo ...
- php学习手记
在学习常量的时候,一直觉得奇怪 为啥常量的时候总是有个“.”在常量的后面,经过学习现在得知该点是 相当于Java当中的“+”用于连接字符 <?php header("Content-t ...