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;
 | |
| 
 | |
|         }
 | |
| 
 | |
|     }
 | |
| }
 |