云信服务器代码,云信一键登录服务端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非常感谢您的反馈,我们会继续努力做得更好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值