2016-03-23 14 views
2

Resmi Pushbullet API sitesindeki curl komutlarını C# programıma nasıl uygularım?Curl (Pushbullet API) programını programıma nasıl uygularım?

Örnek:

curl --header 'Access-Token: <your_access_token_here>' \ 
https://api.pushbullet.com/v2/users/me 

ben bir şekilde doğrudan benim C# programına bu kod yazmak miyim yoksa kullanım php yapmak gerekiyor? Benim basit kod parçacığı almak yapmaya edilir Burada HttpClient

kullanabilirsiniz

+2

olası yinelenen [verme C# içinde bir-curl-çağrı] (http://stackoverflow.com/questions/7929013/making-a-curl-call-in-c-sharp) – esiprogrammer

cevap

0

/sonrası istekleri HttpClient

public async Task<T> MakeHttpClientRequestASync<T>(string requestUrl, string authenticationToken, 
       Dictionary<string, string> requestContent, HttpMethod verb, Action<Exception> error) 
{ 
    var httpClient = new HttpClient(); 
    //// add access token to AuthenticationHeader 
    httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Access-Token",authenticationToken); 
    HttpResponseMessage response; 

    var returnVal = default(T); 

    try 
     { 
     if (verb == HttpMethod.Post) 
     { 
     response = await httpClient.PostAsync(requestUrl, new FormUrlEncodedContent(requestContent)); 
     } 
     else 
     { 
      response = await httpClient.GetAsync(requestUrl); 
     } 

     var resultString = await response.Content.ReadAsStringAsync(); 
     //// DeserializeObject using Json.net 
     returnVal = JsonConvert.DeserializeObject<T>(resultString); 
     } 
     catch (Exception ex) 
     { 
     error(ex); 
     } 

    return returnVal; 
} 

kullanarak ve bu şekilde diyoruz: ait

MakeHttpClientRequestASync<T>("https://api.pushbullet.com/v2/users/me","your auth token",null, HttpMethod.Get,(errorAction)=> 
         { 
          // do something} 
         }); 
+0

Tam olarak kodunuzu kullanarak denedim ama i 3 hataları: bu efaultRequestH eaders veya DefaultRequestHeaders ayrıca AuthenticationHeaderValue altı çizilir ve JsonConvert altı çizili. System.Net.Http; dışında başka bir şey var mı? Bu aptalca bir soru olsaydı çok üzgünüm. –

+0

Üzgünüm, bir yazım hatasıydı, cevabımı düzenledim. evet using using System.Net.Http; System.Net.Http.Headers kullanarak ; , Newtonsoft.Json; – esiprogrammer

+0

; Json.net, [Json.net] 'i (https://www.nuget.org/packages/Newtonsoft.Json/) kurmanız gerekir, ancak alternatif olarak string yanıtını – esiprogrammer