Ich versuche, eine einfache Anfrage an die Basecamp API zu machen, ich befolge die Anweisungen zur Verfügung gestellt in einem Beispiel Benutzer-Agent und meine Anmeldeinformationen, aber ich bekomme immer eine 403 Forbidden
Antwort zurück.HttpClient und Einstellung Autorisierung Header
Meine Zugangsdaten sind definitiv richtig, also ist es ein Fall von meiner Anfrage/Anmeldeinformationen falsch eingestellt?
Das ist, was ich habe (entfernt persönliche Info):
var httpClient = new HttpClient();
var content = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("User-Agent", "MyApp [EMAIL ADDRESS]") });
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(string.Format("{0}:{1}", "[USERNAME]", "[PASSWORD]"))));
var response = await httpClient.PostAsync("https://basecamp.com/[USER ID]/api/v1/projects.json", content);
var responseContent = response.Content;
using (var reader = new StreamReader(await responseContent.ReadAsStreamAsync()))
{
Console.WriteLine(await reader.ReadToEndAsync());
}
Danke, musste dies ein wenig ändern, aber es zur Arbeit – DGibbs
Wurde ohne IDE, sollte wahrscheinlich gesagt haben, dass :) –
Bitte auch darüber nachdenken, warum die Umhüllung des Clients in eine kurzlebige 'using' _might_ schlecht sein: http: //stackoverflow.com/questions/22560971/what-is-the-overhead-of-creating-a-new-httpclient-per-call-in-a-webap-client – mmlac