2016-03-23 20 views
2

Wie kann ich die auf der offiziellen Pushbullet API-Site angegebenen curl-Befehle in mein C# -Programm implementieren?Wie kann ich curl (Pushbullet API) in mein Programm implementieren?

Beispiel:

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

Kann ich schreibe irgendwie direkt diesen Code in meinen C# -Programm oder habe ich Gebrauch php tun?

+2

möglich Duplikat der [ -a-curl-call in C#] (http://stackoverflow.com/questions/7929013/making-a-curl-call-in-c-sharp) – esiprogrammer

Antwort

0

Sie HttpClient

Hier ist meine einfachen Code-Schnipsel bekommen vornehmen können/Post-Anfragen unter Verwendung von 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; 
} 

und es auf diese Weise nennen:

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

Ich habe versucht, genau Ihren Code, aber ich 3 Fehler: Ist es efaultRequestH eaders oder DefaultRequestHeaders ist auch der AuthenticationHeaderValue unterstrichen und der JsonConvert ist unterstrichen. Muss ich etwas anderes als die Verwendung von System.Net.Http einschließen? Es tut mir leid, wenn das eine dumme Frage ist. –

+0

Entschuldigung, es war ein Tippfehler, ich habe meine Antwort bearbeitet. Ja, Sie müssen hinzufügen 'using System.Net.Http; mit System.Net.Http.Headers; mit Newtonsoft.Json; ' – esiprogrammer

+0

Sie müssen Json.net, [Json.net] installieren (https://www.nuget.org/packages/Newtonsoft.Json/), aber alternativ können Sie einfach String Antwort – esiprogrammer