云信服务器代码,云信一键登录服务端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
本篇文檔內容是否對您有幫助?
有幫助
我要吐槽
如果遇到產品相關問題,您可 提交工單 或 在線客服 尋求幫助。
您的改進建議
×
問題類型
內容錯誤
內容沒更新
描述不清
鏈接有誤
步驟不完整
內容缺失(缺少代碼/示例)
其他
更多建議
請輸入您的建議或問題(至少5個字符,至多500個字符)
聯系方式
標記內容
同時提交標記內容
提交
此文檔對你是否有幫助
×
有幫助
我要吐槽
×
反饋成功
非常感謝您的反饋,我們會繼續努力做得更好。
總結
以上是生活随笔為你收集整理的云信服务器代码,云信一键登录服务端API文档-一键登录-网易云信开发文档的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 杭电2005题c语言答案,杭电2005
- 下一篇: 使用计算机时 正确的关机顺序是( ),《