2016-03-23 9 views
0

Ich konfigurierte eine Concur Sandbox und spielte mit der API herum. Da das User API vom .NET SDK nicht unterstützt wird, habe ich folgenden Code geschrieben.Concur V3 Api funktioniert nicht für Benutzer

Problem ist, dass der Code für Ausgaben arbeiten (gibt 200 mit valida Ergebnis zurück), aber Code für Benutzer gibt 401 Unauthorized zurück.

Aufwendungen

using (var httpClient = new HttpClient()) 
    { 
    httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("OAuth", oauthAccessToken); 
     httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml")); 

     var requestUri = "https://www.concursolutions.com/api/v3.0/expense/receiptimages"; 
     var respone = await httpClient.GetAsync(requestUri); 
     if (respone.IsSuccessStatusCode) 
     { 
     var result = respone.Content.ReadAsStringAsync(); 
     //throw new InvalidUriException(string.Format("Invalid uri: {0}", requestUri)); 
     } 
     } 

Idealer dies auch als der vorherige Code funktioniert, Benutzer

using (var httpClient = new HttpClient()) 
      { 
       httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("OAuth", oauthAccessToken); 
       httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/xml")); 

       var requestUri = "http://www.concursolutions.com/api/v3.0/common/users?user=user1%40company.net"; 
       var respone = await httpClient.GetAsync(requestUri); 
       if (!respone.IsSuccessStatusCode) 
       { 
        //throw new InvalidUriException(string.Format("Invalid uri: {0}", requestUri)); 
       } 
      } 
     } 

arbeiten soll ich dachte, dass es ein Berechtigungsproblem, aber ich genug Erlaubnis zulässig angegeben.

Hier ist die Verwaltung-> Webservice App Konfiguration

Summary

Application Configuration

Antwort

0

Problem ist, dass der Nutzer Api Anruf https sein muss.

Verwandte Themen