Skip to content

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
        }

Clone this wiki locally