// Request token
var client = new HttpClient();
var byteArray = new UTF8Encoding().GetBytes("public-clientublic");
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));
var form = new FormUrlEncodedContent(new Dictionary<string, string> { { "username", apiKey }, { "password", apiSecretKey }, { "grant_type", "password" } });
var tokenMessage = client.PostAsync(apiUrl + "/auth/oauth/token", form);
var result = tokenMessage.Result.Content.ReadAsStringAsync().Re sult;
var obj = JObject.Parse(result);
var servicetoken = (string)obj["access_token"];
// Set request type
HttpMethod CreateHttpMethod(string method)
{
switch (method.ToUpper())
{
case "POST":
return HttpMethod.Post;
case "PUT":
return HttpMethod.Put;
case "DELETE":
return HttpMethod.Delete;
default:
return HttpMethod.Get;
}
}
var requestType = CreateHttpMethod(apiMethod);
// Build request
var request = new HttpRequestMessage(requestType, apiUrl + "/api" + apiRequest);
request.Headers.Add("authorization", $"Bearer {servicetoken}");
// Add request body if present
if (!string.IsNullOrEmpty(apiRequestBody))
{
request.Content = new StringContent(apiRequestBody, Encoding.UTF8, "application/json");
}
// Send request
var requestMessage = client.SendAsync(request);
requestMessage.Wait();
var response = requestMessage.Result.Content.ReadAsStringAsync(). Result;
// Output response
if (string.IsNullOrEmpty(response)) return;
var jsonObject = JObject.Parse(response);
Console.WriteLine(jsonObject.ToString());
}
}
}
// Request token
var client = new HttpClient();
var byteArray = new UTF8Encoding().GetBytes("public-clientublic");
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));
var form = new FormUrlEncodedContent(new Dictionary<string, string> { { "username", apiKey }, { "password", apiSecretKey }, { "grant_type", "password" } });
var tokenMessage = client.PostAsync(apiUrl + "/auth/oauth/token", form);
var result = tokenMessage.Result.Content.ReadAsStringAsync().Re sult;
var obj = JObject.Parse(result);
var servicetoken = (string)obj["access_token"];
Ja dann guck dir mal CURL an und guck wie weit du kommst, Funktionen die du nicht kennst musst du entsprechend im Manual nachgucken. Die Klassendefinitionen kannst du ja so erstmal übernehmen. Als HTTP-Client kannst du zum einstieg auch mal Guzzle nehmen
Kommentar