云信服务器代码,云信一键登录服务端API文档-一键登录-网易云信开发文档

一键登录 >

服务端 API 文档

一键登陆服务端API文档

接口概述

API调用说明

本文档中,所有调用网易云信服务端接口的请求都需要按此规则校验。

API checksum校验

以下参数需要放在Http Request Header中

参数

参数说明

AppKey

开发者平台分配的appkey

Nonce

随机数(最大长度128个字符)

CurTime

当前UTC时间戳,从1970年1月1日0点0 分0 秒开始到现在的秒数(String)

CheckSum

SHA1(AppSecret + Nonce + CurTime),三个参数拼接的字符串,进行SHA1哈希计算,转化成16进制字符(String,小写)

CheckSum有效期:出于安全性考虑,每个checkSum的有效期为5分钟(用CurTime计算),建议每次请求都生成新的checkSum,同时请确认发起请求的服务器是与标准时间同步的,比如有NTP服务。

CheckSum检验失败时会返回414错误码,具体参看code状态表。

重要提示: 本文档中提供的所有接口均面向开发者服务器端调用,用于计算CheckSum的AppSecret开发者应妥善保管,可在应用的服务器端存储和使用,但不应存储或传递到客户端,也不应在网页等前端代码中嵌入。

计算CheckSum的java代码举例如下 ( 其他语言示例见下方接口示例) :

import java.security.MessageDigest;

public class CheckSumBuilder {

// 计算并获取CheckSum

public static String getCheckSum(String appSecret, String nonce, String curTime){

return encode("sha1", appSecret + nonce + curTime);

}

// 计算并获取md5值

public static String getMD5(String requestBody){

return encode("md5", requestBody);

}

private static String encode(String algorithm, String value){

if (value == null) {

return null;

}

try {

MessageDigest messageDigest

= MessageDigest.getInstance(algorithm);

messageDigest.update(value.getBytes());

return getFormattedText(messageDigest.digest());

} catch (Exception e) {

throw new RuntimeException(e);

}

}

private static String getFormattedText(byte[] bytes){

int len = bytes.length;

StringBuilder buf = new StringBuilder(len * 2);

for (int j = 0; j < len; j++) {

buf.append(HEX_DIGITS[(bytes[j] >> 4) & 0x0f]);

buf.append(HEX_DIGITS[bytes[j] & 0x0f]);

}

return buf.toString();

}

private static final char[] HEX_DIGITS = { '0', '1', '2', '3', '4', '5',

'6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };

}

接口说明

IM服务端所有接口都只支持POST请求;

所有接口请求Content-Type类型为:application/x-www-form-urlencoded;charset=utf-8;

所有接口返回类型为JSON,同时进行UTF-8编码。

接口示例

网易云信服务端接口是简单的http接口,适配各种语言。 当然我们也提供了一些简单的示例供开发者参考。网易云信服务器接口示例。

一键登陆

获取手机号码

请求说明

POST https://api.netease.im/phoneauth/login/getMobile HTTP/1.1

Content-Type:application/x-www-form-urlencoded;charset=utf-8

接口描述

获取手机号码。

参数说明

参数类型必须说明

certnameString是用户证书名称

tokenString是运营商令牌

curl请求示例

curl -X POST -H "AppKey: go9dnk49bkd9jd9vmel1kglw0803mgq3" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Nonce: 4tgggergigwow323t23t" -H "Content-Type: application/x-www-form-urlencoded" -d 'certname=xxxxxxxx&token=xxxxx' 'https://api.netease.im/phoneauth/login/getMobile'

返回说明

http 响应:json

"Content-Type": "application/json; charset=utf-8"

{

"code": 200,

"mobilePhone": "1F881288CC68352FC410E8D4A36FC6E0" // 加密手机号码

}

主要返回码

200、403、414、416、431、500

本篇文档内容是否对您有帮助?

05ad636b7b9697960eedc9e50e63bbcd.png有帮助

d7ecb2ab3f00c13b80e89321fbce0571.png我要吐槽

如果遇到产品相关问题,您可 提交工单 或 在线客服 寻求帮助。

您的改进建议

×

问题类型

内容错误

内容没更新

描述不清

链接有误

步骤不完整

内容缺失(缺少代码/示例)

其他

更多建议

请输入您的建议或问题(至少5个字符,至多500个字符)

联系方式

标记内容

同时提交标记内容

提交

此文档对你是否有帮助

×

05ad636b7b9697960eedc9e50e63bbcd.png有帮助

d7ecb2ab3f00c13b80e89321fbce0571.png我要吐槽

×

反馈成功

9a8a09827f580aa78fba55c9bd5bd9d6.png非常感谢您的反馈,我们会继续努力做得更好。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527217.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c# 溢出抛异常_Rust竟然没有异常处理?

学习Rust最好的方法&#xff0c;就是和其他主流语言&#xff0c;比如Java、Python进行对比学习。不然怎么能get到它的特别呢&#xff1f;1. 主流模式&#xff1a;try-catch-finally基本上&#xff0c;当你学会了某种语言的try/catch&#xff0c;对这套机制的理解就能够迁移到其…

运营商 sni 服务器,什么是服务器名称指示(SNI)

在HTTPS 大热的今日&#xff0c;在过去的HTTP时代&#xff0c;解决基于名称的主机在同一IP地址上托管多个网站的问题并不难。当一个客户端请求某特定网站时&#xff0c;把请求的域名作为主机头(Host)放在HTTP Header中&#xff0c;服务器端知道应该把请求引向哪个域名&#xff…

水面反光如何拍摄_拍摄水面反射的创意

很多人都喜欢拍摄倒影&#xff0c;不同介质表面的倒影可以提供给我们各种各样不同的创意拍摄思路。但是从技术角度上来说&#xff0c;拍摄倒影其实一点都不简单&#xff0c;相比那些常规的拍摄内容&#xff0c;倒影显然需要一些技巧&#xff0c;像是对焦、取景、拍摄手法以及后…

电脑摄像头未能创建连接服务器,Win7中摄像头提示未能创建视频预览错误怎么办...

最近有不少用户在我们网站上提问说他们在打开摄像头的时候&#xff0c;就会遇到打开摄像头的时候提示“未能创建视频预览&#xff0c;请检查设备连接”的问题&#xff0c;这是怎么回事呢&#xff0c;出现这样的原因的话有可能是电脑中毒了或者某些相关的服务没有启动导致的&…

Ubuntu 常用命令之 date 命令用法介绍

&#x1f4d1;Linux/Ubuntu 常用命令归类整理 date命令在Ubuntu系统中用于显示或设置系统的日期和时间。 date常见的参数 -d, --dateSTRING&#xff1a;显示STRING指定的时间&#xff0c;而不是当前时间。-u, --utc, --universal&#xff1a;显示或设置协调世界时间。-R, --…

局部配置和全局配置_06. 教你零基础搭建小程序(解读全局配置文件-tabBar字段)...

自从开始在知乎上发教程后&#xff0c;发现一个事情啊&#xff0c;大家对于我写的教程&#xff0c;都在偷偷地收藏~~但是&#xff0c;却没有银点赞~知乎这个平台吧&#xff0c;点赞的分量比收藏更大&#xff0c;这里也不是要赞&#xff08;我知道自己还能做的更好&#xff09;&…

mac系统在云服务器地址,mac如何登陆云服务器地址

mac如何登陆云服务器地址 内容精选换一换本章节指导用户获取云服务器的IP地址等网卡信息。进入弹性云服务器页面。进入云服务器详情页面。进入网卡详情页面。网卡详情页面进入虚拟IP详情页&#xff0c;即可根据云服务器网卡信息找到绑定的虚拟IP地址。本章节介绍如何使用弹性云…

时间转化_Excel常见时间日期函数全讲解,10个函数教你如何进行日期转化

在工作中我们经常会碰到一些需要转化或者计算时间日期的工作&#xff0c;这里就需要我们用到一些常见的Excel时间日期函数。今天我们就通过十个案例来教大家&#xff0c;如何在实际工作中对时间日期进行转化处理。函数一、显示当前日期函数TODAY()2018/10/10函数二、显示当前日…

回旋滚动_中频炉电动旋转轴承,管道回旋轴承,电炉旋转轴承

中频炉电动旋转轴承&#xff0c;管道回旋轴承&#xff0c;电炉旋转轴承&#xff0c;&#xff0c;管道旋转轴承自带双边法兰,在集尘罩管道做法兰和主管道的法兰连接,旋转轴承可以360度旋转&#xff0c;除尘器管道轴承可以同时承受较大的轴向、径向负荷和倾覆力矩。除尘器旋转轴承…

dao层如何调用对象_你的项目应该如何正确分层?

你好&#xff0c;欢迎收听极客视点。 说起应用分层&#xff0c;大部分人都会认为这不是很简单嘛&#xff0c;就Controller、Service、Mapper三层。但在“简单”背后&#xff0c;很多人并没有将各层级的职责划分清楚。比如在很多代码中&#xff0c;Controller比Service还多&…

mysql索引_MySQL索引介绍和实战

索引是什么MySQL官方对索引的定义为&#xff1a;索引(Index)是帮助MySQL高效获取数据的数据结构。可以得到索引的本质&#xff1a;索引是数据结构&#xff0c;索引的目的是提高查询效率&#xff0c;可以类比英语新华字典&#xff0c;根据目录定位词语如果没有目录呢&#xff0c…

mysql安装需要注意什么意思_mysql 安装过程及注意事项

1.1. 下载&#xff1a;我下载的是64位系统的zip包&#xff1a;下载zip的包&#xff1a;下载后解压&#xff1a;D:\软件安装包\mysql-5.7.20-winx641.2. 配置环境变量&#xff1a;变量名&#xff1a;MYSQL_HOME变量值&#xff1a;E:\mysql-5.7.20-winx64path里添加&#xff1a;%…

gitlab 端口_安装Gitlab-注意端口

文档本身并没有什么特殊&#xff0c;安装也很简单&#xff0c;只是修改端口这里如果有需要的可以看一下安装Gitlab[rootdeploy ~]# sudo yum -y install gitlab-ce默认端口是8080&#xff0c;避免冲突还是修改一下[rootlocalhost ~]# cat /etc/gitlab/gitlab.rb |grep 192.168.…

MySQL read-c_技术分享 | MySQL C API 参数 MYSQL_OPT_READ_TIMEOUT 的一些行为分析

作者&#xff1a;戴岳兵MYSQL_OPT_READ_TIMEOUT 是 MySQL c api 客户端中用来设置读取超时时间的参数。在 MySQL 的官方文档中&#xff0c;该参数的描述是这样的&#xff1a;MYSQL_OPT_READ_TIMEOUT (argument type: unsigned int *)The timeout in seconds for each attempt t…

mysql解释中fitered_MySQL的explain中的参数说明

1、id每个被独立执行的操作的标识&#xff0c;表示对象被操作的顺序&#xff1b;id值大&#xff0c;先被执行&#xff1b;如果相同&#xff0c;执行顺序从上到下。若没有子查询和联合查询&#xff0c;id则都是1。Mysql会按照id从大到小的顺序执行query&#xff0c;在id相同的情…

vue脚手架搭建项目_复习之vue脚手架搭建项目的两种方法

安装脚手架node 版本要求&#xff1a; > 8.9 。关于旧版本&#xff1a;如果在这之前已经全局安装了旧版本的vue-cli(1.x 或 2.x)&#xff0c;那么需要先卸载掉。卸载旧版本运行&#xff1a;npm uninstall vue-cli -g 或 yarn global remove vue-cli。安装vue/cli&#xff1a…

pythonsocket中tcp通信接收不到数据_TCP 为什么三次握手而不是两次握手(正解版)...

先说结论为了实现可靠数据传输&#xff0c; TCP 协议的通信双方&#xff0c; 都必须维护一个序列号&#xff0c; 以标识发送出去的数据包中&#xff0c; 哪些是已经被对方收到的。 三次握手的过程即是通信双方相互告知序列号起始值&#xff0c; 并确认对方已经收到了序列号起始…

mysql无法启动如何备份文件_mysql 5.7 停电导致无法启动、如何备份数据,重新安装mysql...

用于记录服务器停电导致&#xff0c;mysql启动失败后&#xff0c;如何备份数据&#xff0c;重新安装mysql&#xff0c;主要分为数据备份&#xff0c;mysql重新安装。1、mysql无法启动时&#xff0c;进行数据备份。执行&#xff1a;systemctl start mysqld&#xff0c;启动失败。…

python tkinter entry默认值_Python ---(六)Tkinter窗口组件:Entry

The Tkinter Entry Widget##简介Entry(输入框)组件通常用于获取用户的输入文本。##何时使用 Entry 组件&#xff1f;Entry 组件仅允许用于输入一行文本&#xff0c;如果用于输入的字符串长度比该组件可显示空间更长&#xff0c;那内容将被滚动。这意味着该字符串将不能被全部看…

java 静态块初始化_简单了解java中静态初始化块的执行顺序

这篇文章主要介绍了简单了解java中静态初始化块的执行顺序,文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下在java中&#xff0c;其应该是先于所有的方法执行。下面是测试代码&#xff1a;public class Test1 {st…