Доступ к 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 доверять сертификату ответа.

Другие вопросы по тегам