Advertisement
Guest User

Untitled

a guest
Jul 16th, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.02 KB | None | 0 0
  1. const string userName = "usuario";
  2. const string password = "miclave";
  3. const string apiBaseUri = "https://ose-gw1.efact.pe:443/api-efact-ose/oauth";
  4. const string apiGetPeoplePath = "/api-efact-ose/oauth";
  5. const string authorization = "Y2xpZW50OnNlY3JldA==";
  6. const string tempurl = "D:\SENDSUNAT\doc.txt";
  7.  
  8. static void Main(string[] args)
  9. {
  10. //OBTENER EL TOKEN
  11. var token = GetAPIToken(userName, password, apiBaseUri).Result;
  12. Console.WriteLine("Token: {0}", token);
  13.  
  14. //HACER EL LLAMADO
  15. var response = GetRequest(token, apiBaseUri, apiGetPeoplePath).Result;
  16. Console.WriteLine("response: {0}", response);
  17.  
  18. //ESPERAR LA CLAVE
  19. Console.ReadKey();
  20. }
  21.  
  22. private static async Task<string> GetAPIToken(string userName, string password, string apiBaseUri)
  23. {
  24. //WebRequest request = WebRequest.Create(apiBaseUri);
  25. using (var client = new HttpClient())
  26. {
  27. //AUTHORIZATION
  28. //var header = request.Headers["Authorization"];
  29. //header.StartsWith("Basic " + authorization);
  30.  
  31. //SETUP CLIENTE
  32. client.BaseAddress = new Uri(apiBaseUri);
  33. client.DefaultRequestHeaders.Accept.Clear();
  34. //client.DefaultRequestHeaders.GetType = new
  35. client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authorization);
  36. client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
  37.  
  38. //SETUP LOGIN DATA
  39. var formContent = new FormUrlEncodedContent(new[]
  40. {
  41. new KeyValuePair<string, string>("grant_type", "password"),
  42. new KeyValuePair<string, string>("username", userName),
  43. new KeyValuePair<string, string>("password", password),
  44. });
  45.  
  46. //ENVIAR REQUEST
  47. HttpResponseMessage response = await client.PostAsync("/Token", formContent);
  48.  
  49.  
  50. //OBTENER EL ACCESO TOKEN DEL RESPONSE BODY
  51. var responseJson = await response.Content.ReadAsStringAsync();
  52. var jObject = JObject.Parse(responseJson);
  53. return jObject.GetValue("access_token").ToString();
  54. }
  55. }
  56.  
  57. static async Task<string> GetRequest(string token, string apiBaseUri, string requestPath)
  58. {
  59. using (var client = new HttpClient())
  60. {
  61. //SETUP CLIENTE
  62. client.BaseAddress = new Uri(apiBaseUri);
  63. client.DefaultRequestHeaders.Accept.Clear();
  64. client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
  65. client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(tempurl));
  66. client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
  67.  
  68. //HACER EL REQUEST
  69. HttpResponseMessage response = await client.GetAsync(requestPath);
  70. var responseString = await response.Content.ReadAsStringAsync();
  71. return responseString;
  72. }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement