2016-03-23 8 views
0

Concur Sandboxを設定し、APIを使用して遊んでいました。 User APIは.Net SDKによってサポートされていないので、私は以下のコードを書いた。Concur V3ユーザが利用できないAPIがありません

問題は経費のコードです(結果はvalidaで200を返します)が、ユーザーのコードは401 Unauthorizedを返します。

費用

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)); 
     } 
     } 

以前のコードが動作するよう理想的には、これも動作するはずです、 ユーザー

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)); 
       } 
      } 
     } 

私はそれはアクセス許可の問題だと思ったが、私は十分な権限許可与えられました。ここで

は、管理 - > Webサービスアプリの設定である

Summary

Application Configuration

答えて

0

問題は、ユーザーのAPI呼び出しがhttpsにする必要があるということです。

関連する問題