Доступ к TM1 Cognos REST API через C#, когда сервер размещен в интегрированном режиме 5 (CAMPassport)
Я пытаюсь вызвать REST API, предоставляемый из IBM TM1 Cognos. Использование объекта HttpWebRequest. Получение 401, когда я пытался передать заголовок авторизации с base64(пользователь: пароль:namespaceId).
2 ответа
Решение
using (var client = new HttpClient())
{
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes("username:password:camnamespace");
var encodeData= System.Convert.ToBase64String(plainTextBytes);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("Authorization", "CAMNamespace "+ encodeData);
//GET Method
HttpResponseMessage response = await client.GetAsync("http://serveraddress/api/v1/Cubes");
if (response.IsSuccessStatusCode)
{
var det = await response.Content.ReadAsStringAsync();
}
else
{
Console.WriteLine("Internal server Error");
}
}
Я думаю, что вам нужно что-то вроде в payton: verify=False
доверять сертификату ответа.