61 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C#
		
	
	
	
using AOP.Common;
 | 
						|
using System;
 | 
						|
using System.Collections.Generic;
 | 
						|
using System.Linq;
 | 
						|
using System.Net.Http;
 | 
						|
using System.Text;
 | 
						|
using System.Threading.Tasks;
 | 
						|
 | 
						|
namespace SgManager.AI
 | 
						|
{
 | 
						|
  public static  class IDCardToken
 | 
						|
    {
 | 
						|
 | 
						|
        // 调用getAccessToken()获取的 access_token建议根据expires_in 时间 设置缓存
 | 
						|
        // 返回token示例
 | 
						|
        public static String TOKEN = "24.adda70c11b9786206253ddb70affdc46.2592000.1493524354.282335-1234567";
 | 
						|
 | 
						|
        // 百度云中开通对应服务应用的 API Key 建议开通应用的时候多选服务
 | 
						|
        private static String clientId = System.Configuration.ConfigurationManager.AppSettings["ID_API_KEY"].ToString();// "onreA4ms0OUi2eclj8CnMoaV";
 | 
						|
        // 百度云中开通对应服务应用的 Secret Key
 | 
						|
        private static String clientSecret = System.Configuration.ConfigurationManager.AppSettings["ID_SECRET_KEY"].ToString();// "ge8kERfb5uxqUKyOhdLMD2ozumNUigjY";
 | 
						|
 | 
						|
        private static String getBaiduAccessToken()
 | 
						|
        {
 | 
						|
            String authHost = "https://aip.baidubce.com/oauth/2.0/token";
 | 
						|
            HttpClient client = new HttpClient();
 | 
						|
            List<KeyValuePair<String, String>> paraList = new List<KeyValuePair<string, string>>();
 | 
						|
            paraList.Add(new KeyValuePair<string, string>("grant_type", "client_credentials"));
 | 
						|
            paraList.Add(new KeyValuePair<string, string>("client_id", clientId));
 | 
						|
            paraList.Add(new KeyValuePair<string, string>("client_secret", clientSecret));
 | 
						|
 | 
						|
            HttpResponseMessage response = client.PostAsync(authHost, new FormUrlEncodedContent(paraList)).Result;
 | 
						|
            String result = response.Content.ReadAsStringAsync().Result;
 | 
						|
            Console.WriteLine(result);
 | 
						|
            return result;
 | 
						|
        }
 | 
						|
 | 
						|
        public static AccessTokenModel GetAccessToken()
 | 
						|
        {
 | 
						|
 | 
						|
            AccessTokenModel tempAccessTokenModel = new AccessTokenModel();
 | 
						|
            string tempData = getBaiduAccessToken();
 | 
						|
            if (tempData.Contains("\"error\""))
 | 
						|
            {//标识异常
 | 
						|
 | 
						|
                tempAccessTokenModel.IsSuccess = false;
 | 
						|
                tempAccessTokenModel.ErrorModel = Json.ToObject<ErrorAccessTokenModel>(tempData);
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {//标识正常
 | 
						|
                tempAccessTokenModel.IsSuccess = true;
 | 
						|
                tempAccessTokenModel.SuccessModel = Json.ToObject<SuccessAccessTokenModel>(tempData);
 | 
						|
            }
 | 
						|
 | 
						|
            return tempAccessTokenModel;
 | 
						|
 | 
						|
        }
 | 
						|
 | 
						|
    }
 | 
						|
}
 |