namespace Yw
|
{
|
/// <summary>
|
/// AccessToken
|
/// </summary>
|
public sealed partial class BimfaceClient
|
{
|
//令牌请求地址
|
private const string _accesstokenurl = @"https://api.bimface.com/oauth2/token";
|
|
/// <summary>
|
/// 获取AccessToken
|
/// </summary>
|
public string GetAccessToken()
|
{
|
if (string.IsNullOrEmpty(_accesstoken) || _expiretime.ValidAccessTokenExpiration(DateTime.Now))
|
{
|
getAccessToken();
|
}
|
return _accesstoken;
|
}
|
|
//获取AccessToken,内部调用
|
private void getAccessToken()
|
{
|
using (var httpClient = new HttpClient())
|
{
|
httpClient.DefaultRequestHeaders.Add("Method", "Post");
|
var keyValueHeader = new HttpHeaders().GetBasicAuthorHeader(_appkey, _appsecret);
|
httpClient.DefaultRequestHeaders.Add(keyValueHeader.Key, keyValueHeader.Value);
|
var response = httpClient.PostAsync(_accesstokenurl, null).Result;
|
response.EnsureSuccessStatusCode();
|
var responsetext = response.Content.ReadAsStringAsync().Result;
|
var result = JsonHelper.Json2Object<Result<AccessTokenResponse>>(responsetext);
|
if (result.code != Constants.Success)
|
{
|
throw new Exception(result.code);
|
}
|
_accesstoken = result.data.token;
|
_expiretime.SetAccessTokenExpireTime(result.data.expireTime);
|
}
|
}
|
|
|
|
|
|
|
}
|
|
}
|