BaiduApiHelper.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using MySql.Data.MySqlClient.Memcached;
  2. using Org.BouncyCastle.Asn1.Crmf;
  3. using RestSharp;
  4. using System.IO;
  5. namespace OASystem.API.OAMethodLib.BaiduApi
  6. {
  7. public class BaiduApiHelper
  8. {
  9. const string API_KEY = "0OuunXiLEX3OL6hB4bhXvKyS";
  10. const string SECRET_KEY = "GZ6HwIGxQlGH1O4MADm0DpO5BcLyhpx2";
  11. public static string _apiTableV2(string Base64)
  12. {
  13. var client = new RestClient($"https://aip.baidubce.com/rest/2.0/ocr/v1/table?access_token={GetAccessToken()}");
  14. client.Timeout = -1;
  15. var request = new RestRequest(Method.POST);
  16. request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
  17. request.AddHeader("Accept", "application/json");
  18. // image 可以通过 GetFileBase64Content('C:\fakepath\tb.jpg') 方法获取
  19. request.AddParameter("image", Base64);
  20. IRestResponse response = client.Execute(request);
  21. return response.Content;
  22. }
  23. /**
  24. * 使用 AK,SK 生成鉴权签名(Access Token)
  25. * @return 鉴权签名信息(Access Token)
  26. */
  27. static string GetAccessToken()
  28. {
  29. var client = new RestClient($"https://aip.baidubce.com/oauth/2.0/token");
  30. //client.Timeout = -1;
  31. var request = new RestRequest("",Method.POST);
  32. request.AddParameter("grant_type", "client_credentials");
  33. request.AddParameter("client_id", API_KEY);
  34. request.AddParameter("client_secret", SECRET_KEY);
  35. IRestResponse response = client.Execute(request);
  36. Console.WriteLine(response.Content);
  37. var result = JsonConvert.DeserializeObject<dynamic>(response.Content);
  38. return result.access_token.ToString();
  39. }
  40. }
  41. }