導航:首頁 > 專利知識 > 環信token有效期

環信token有效期

發布時間:2021-01-06 16:42:51

『壹』 有人用過環信嗎,會話列表怎麼做的

微信授權登錄並獲取用戶基本信息
微信授權使用的是OAuth2.0授權的方式。主要有以下簡略步驟:
第一步:用戶同意授權,獲取code
第二步:通過code換取網頁授權access_token
第三步:刷新access_token(如果需要)
第四步:拉取用戶信息(需scope為 snsapi_userinfo)
詳細的步驟如下:
1.用戶關注微信公眾賬號。
2.微信公眾賬號提供用戶請求授權頁面URL。
3.用戶點擊授權頁面URL,將向伺服器發起請求
4.伺服器詢問用戶是否同意授權給微信公眾賬號(scope為snsapi_base時無此步驟)
5.用戶同意(scope為snsapi_base時無此步驟)
6.伺服器將CODE通過回調傳給微信公眾賬號
7.微信公眾賬號獲得CODE
8.微信公眾賬號通過CODE向伺服器請求Access Token
9.伺服器返回Access Token和OpenID給微信公眾賬號
10.微信公眾賬號通過Access Token向伺服器請求用戶信息(scope為snsapi_base時無此步驟)
11.伺服器將用戶信息回送給微信公眾賬號(scope為snsapi_base時無此步驟)

『貳』 如何處理 環信獲取token慢的問題

1、直接設置token為永不失抄效,但是沒能查到環信是否支持這種設置的信息。
2、把對環信的操作放到一個單獨的線程中,無需在等待返回結果,我們項目裡面這樣做無法保證環信的操作和我們自己伺服器上操作的一致性,而且線程會暫用比較多的資源。
3、把token取到自己的後台,利用定期(比如6天激發一次更新token的操作),這樣實現起來可能會稍微有點麻煩
4、設置一個更新token的時間點,比如token有效期不足一天時,提前更新。具體是每次調用完token後,判斷token是否已經需要更新,如果需要在另起一個線程用於更新token。(具體更新方法是,設置有效期為過期,然後訪問getToken()方法)。

『叄』 怎麼用C# 獲取環信app管理員的token值

這個 Response 明顯是一個 JSON 格式的數據,所以在C#程序里反序列化它就可以了。

『肆』 如何通過REST介面獲取token

可以實現,環信rest對語言沒限制,比如獲取token ,就是寫http請求,設置url headers body
,json請求,不同的語言有不同的寫內法。只是容不建議在客戶端做rest的操作,如果client_id
和client_secret在客戶端被別人惡意獲取,app有極大風險的。

『伍』 nodejs集成環信伺服器怎麼獲取token

const get = () => new Promise((resolve, reject) => {
// 獲取token的邏輯
// 成功的話調用resolve
// 失敗的話調用reject
});

// 判斷token是否獲取成功,如果失專敗的話重新獲取一次,不過屬這里會陷入循環?
const getToken = get().then(
token => token
).catch(
err => getToken()
)

getToken().then(token => {
// 獲得token要乾的事情……
});

『陸』 環信 c#轉義 怎麼發json

publicclassEaseMobService
{
///<summary>
///企業的唯一標識
///</summary>
publicstringorg_name{set;get;}

///<summary>
///同一「企業」下「APP」唯一標識
///</summary>
publicstringapp_name{set;get;}

publicstringclient_id{set;get;}

publicstringclient_secret{set;get;}

stringIM_ParamUrl=System.AppDomain.CurrentDomain.BaseDirectory+@""+"IM_Param.ini";

stringApiUrl{get{return"http://a1.easemob.com/"+org_name+"/"+app_name;}}

Newtonsoft.Json.=newJsonSerializerSettings(){NullValueHandling=NullValueHandling.Ignore};


///<summary>
///獲取令牌
///</summary>
stringGetToken()
{
Request_TokenRequest_Token_Model=newRequest_Token();
Request_Token_Model.grant_type="client_credentials";
Request_Token_Model.client_id=client_id;
Request_Token_Model.client_secret=client_secret;


Response_TokenResponse_Token_Model=null;
if(File.Exists(IM_ParamUrl))
{
Response_Token_Model=newResponse_Token();

System.Reflection.PropertyInfo[]Response_Token_Pros=typeof(Response_Token).GetProperties();
foreach(System.Reflection._Token_Pros)
{
if(PropertyInfoI.CanWrite)
{
PropertyInfoI.SetValue(Response_Token_Model,Convert.ChangeType(TCustomDLL.FileHelper.IniHelper.ReadIni(IM_ParamUrl,"token",PropertyInfoI.Name),PropertyInfoI.PropertyType),null);
}
}

if(Response_Token_Model.get_time.AddSeconds(Convert.ToDouble(Response_Token_Model.expires_in))<=DateTime.Now)
{
Response_Token_Model=null;
}
}
else
{
FileStreamfs=File.Create(IM_ParamUrl);
fs.Close();
}

if(Response_Token_Model==null)
{
System.Net.HttpStatusCodeOpStatusCode=System.Net.HttpStatusCode.ExpectationFailed;
stringOpStatusDescription=string.Empty;
JObjectResultObj=EaseMobFuc(Request_Token_Model,"token",outOpStatusCode,outOpStatusDescription,Authorization_Token:false);
if(OpStatusCode==HttpStatusCode.OK)
{
Response_Token_Model=newResponse_Token()
{
get_time=DateTime.Now
};

System.Reflection.PropertyInfo[]Response_Token_Pros=typeof(Response_Token).GetProperties();
foreach(System.Reflection._Token_Pros)
{
if(PropertyInfoI.CanWrite)
{
if(ResultObj[PropertyInfoI.Name]!=null)
{
PropertyInfoI.SetValue(Response_Token_Model,ResultObj[PropertyInfoI.Name].ToObject(PropertyInfoI.PropertyType),null);
}
TCustomDLL.FileHelper.IniHelper.WriteIni(IM_ParamUrl,"token",PropertyInfoI.Name,PropertyInfoI.GetValue(Response_Token_Model,null).ToString());
}
}
}
else
{
returnstring.Empty;
}
}

returnResponse_Token_Model.access_token;
}

///<summary>
///調用環信後台介面函數
///</summary>
publicJObjectEaseMobFuc(objectRequest_Model,stringFucName,outHttpStatusCodeOpStatusCode,outstringOpStatusDescription,WebHelper.RequestTyperequesttype=WebHelper.RequestType.Post,boolAuthorization_Token=true)
{
WebHeaderCollectionheaders=null;
if(Authorization_Token)
{
headers=newWebHeaderCollection();
headers.Add("Authorization:Bearer"+GetToken());
}

stringRequestBodyStr=string.Empty;
if(Request_Model!=null)
{
RequestBodyStr=JsonConvert.SerializeObject(Request_Model,MyJsonSerializerSettings);
}
JObjectResultObj=(JObject)JsonConvert.DeserializeObject(ResponseHelper.GetResult(requesttype,outOpStatusCode,outOpStatusDescription,ApiUrl+"/"+FucName,RequestBodyStr,headers:headers,contentType:"application/json"));
if(OpStatusCode==System.Net.HttpStatusCode.OK)
{
returnResultObj;
}
returnnull;
}

///<summary>
///獲取歷史消息
///</summary>
publicJObjectGet_ChatMessages(DateTimeStartTime)
{
JObjectResultObj=null;
stringChatMessages_Url=System.AppDomain.CurrentDomain.BaseDirectory+@"ChatMessages"+app_name;
stringChatMessages_FileUrl=ChatMessages_Url+@"ChatMessages_"+StartTime.ToString("yyyyMMddHH")+".json";
TCustomDLL.FileHelper.FolderHelper.CreateFolder(ChatMessages_Url);
if(File.Exists(IM_ParamUrl))
{
DateTimeLastRequestTime=DateTime.MinValue;
DateTime.TryParse(TCustomDLL.FileHelper.IniHelper.ReadIni(IM_ParamUrl,"params","get_ChatMessages_time"),outLastRequestTime);
if(LastRequestTime.AddSeconds(8)>DateTime.Now)
{
if(File.Exists(ChatMessages_FileUrl))
{
FileStreamfs=newFileStream(ChatMessages_FileUrl,FileMode.Open,FileAccess.Read,FileShare.ReadWrite);
StreamReadersr=newStreamReader(fs);
ResultObj=(JObject)JsonConvert.DeserializeObject(sr.ReadToEnd());
sr.Close();
fs.Close();
}
}
}
else
{
FileStreamfs=File.Create(IM_ParamUrl);
fs.Close();
}

if(ResultObj==null)
{
System.Net.HttpStatusCodeOpStatusCode=System.Net.HttpStatusCode.ExpectationFailed;
stringOpStatusDescription=string.Empty;
ResultObj=EaseMobFuc(null,"chatmessages/"+StartTime.ToString("yyyyMMddHH"),outOpStatusCode,outOpStatusDescription,WebHelper.RequestType.Get);
if(OpStatusCode==HttpStatusCode.OK)
{
TCustomDLL.FileHelper.IniHelper.WriteIni(IM_ParamUrl,"params","get_ChatMessages_time",DateTime.Now.ToString());

FileStreamfs=newFileStream(ChatMessages_FileUrl,FileMode.Create,FileAccess.Write,FileShare.ReadWrite);
StreamWritersw=newStreamWriter(fs);
sw.Write(JsonConvert.SerializeObject(ResultObj));
sw.Flush();
sw.Close();
fs.Close();
}
}

returnResultObj;
}
}

『柒』 環信即時通訊REST API中下載圖片和語音文件怎麼下載(PHP curl)

該問題已解決


閱讀全文

與環信token有效期相關的資料

熱點內容
lol2016猴年限定皮膚 瀏覽:48
陝西房地產估價師證書領取地點 瀏覽:140
證書小知識 瀏覽:431
馬鞍山何兵 瀏覽:376
設計創作版權合作合同範本 瀏覽:482
省知識產權局侯社教 瀏覽:51
道閘3C證書 瀏覽:820
土地使用權期滿地上建築物 瀏覽:455
武漢圓通快遞投訴電話 瀏覽:33
馬鞍山到開原 瀏覽:797
版權標記放在哪裡 瀏覽:441
創造與魔法陪配方 瀏覽:724
領悟人生真諦創造人生價值感悟 瀏覽:944
定融債權轉讓 瀏覽:41
安徽二手塔吊轉讓信息 瀏覽:413
土地買賣使用權協議 瀏覽:543
基本公共衛生服務知識競賽 瀏覽:484
戶照的有效期 瀏覽:738
汽車駕駛證有效期滿了怎麼辦 瀏覽:851
馬鞍山市浩宇機械公司 瀏覽:139