Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const string userName = "usuario";
- const string password = "miclave";
- const string apiBaseUri = "https://ose-gw1.efact.pe:443/api-efact-ose/oauth";
- const string apiGetPeoplePath = "/api-efact-ose/oauth";
- const string authorization = "Y2xpZW50OnNlY3JldA==";
- const string tempurl = "D:\SENDSUNAT\doc.txt";
- static void Main(string[] args)
- {
- //OBTENER EL TOKEN
- var token = GetAPIToken(userName, password, apiBaseUri).Result;
- Console.WriteLine("Token: {0}", token);
- //HACER EL LLAMADO
- var response = GetRequest(token, apiBaseUri, apiGetPeoplePath).Result;
- Console.WriteLine("response: {0}", response);
- //ESPERAR LA CLAVE
- Console.ReadKey();
- }
- private static async Task<string> GetAPIToken(string userName, string password, string apiBaseUri)
- {
- //WebRequest request = WebRequest.Create(apiBaseUri);
- using (var client = new HttpClient())
- {
- //AUTHORIZATION
- //var header = request.Headers["Authorization"];
- //header.StartsWith("Basic " + authorization);
- //SETUP CLIENTE
- client.BaseAddress = new Uri(apiBaseUri);
- client.DefaultRequestHeaders.Accept.Clear();
- //client.DefaultRequestHeaders.GetType = new
- client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authorization);
- client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
- //SETUP LOGIN DATA
- var formContent = new FormUrlEncodedContent(new[]
- {
- new KeyValuePair<string, string>("grant_type", "password"),
- new KeyValuePair<string, string>("username", userName),
- new KeyValuePair<string, string>("password", password),
- });
- //ENVIAR REQUEST
- HttpResponseMessage response = await client.PostAsync("/Token", formContent);
- //OBTENER EL ACCESO TOKEN DEL RESPONSE BODY
- var responseJson = await response.Content.ReadAsStringAsync();
- var jObject = JObject.Parse(responseJson);
- return jObject.GetValue("access_token").ToString();
- }
- }
- static async Task<string> GetRequest(string token, string apiBaseUri, string requestPath)
- {
- using (var client = new HttpClient())
- {
- //SETUP CLIENTE
- client.BaseAddress = new Uri(apiBaseUri);
- client.DefaultRequestHeaders.Accept.Clear();
- client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
- client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(tempurl));
- client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
- //HACER EL REQUEST
- HttpResponseMessage response = await client.GetAsync(requestPath);
- var responseString = await response.Content.ReadAsStringAsync();
- return responseString;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement