-
Notifications
You must be signed in to change notification settings - Fork 10
Java sample with HttpClient library
Emmanuel Bernier edited this page Aug 2, 2018
·
2 revisions
courtesy of Thorsten Brügge
private async void GetBicDataAsync()
{
// HttpClient to get the token
HttpClient bicAothClient;
bicAothClient = new HttpClient();
// Add header
bicAothClient.DefaultRequestHeaders.Add("Authorization", "Basic YmljYXBwOmJpY3NlY3JldGFwcA==");
// Set parameters
var content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("grant_type", "password"),
new KeyValuePair<string, string>("username", <USERNAME>),
new KeyValuePair<string, string>("password", <PASSWORD>)
});
// POST async
var result = await _bicAothClient.PostAsync("https://app.bic-boxtech.org/oauth/token/", content);
// Get content as string
var contentString = await result.Content.ReadAsStringAsync();
// Parse content, to get the accessToken
var r = JToken.Parse(contentString);
var token = r["accessToken"].Value<string>();
// HttpClient to get container data
HttpClient _bicDataClient;
bicDataClient = new HttpClient();
// Add accessToken to header
bicDataClient.DefaultRequestHeaders.Add("Authorization", ("Bearer " + token));
// Get container data
var bicData = await bicDataClient.GetAsync("https://app.bic-boxtech.org/api/v2.0/container/" + <CONTAINERNUMBER>);
// Get content as string
var containerDataString = await bicData.Content.ReadAsStringAsync();
// Do what you need with this content
}