I have read some other posts on Stack but I can't get this to work. It works fine on my when I run the curl command in git on my windows machine but when I convert it to asp.net it's not working:
private void BeeBoleRequest() { string url = "https://mycompany.beebole-apps.com/api"; WebRequest myReq = WebRequest.Create(url); string username = "e26f3a722f46996d77dd78c5dbe82f15298a6385"; string password = "x"; string usernamePassword = username + ":" + password; CredentialCache mycache = new CredentialCache(); mycache.Add(new Uri(url), "Basic", new NetworkCredential(username, password)); myReq.Credentials = mycache; myReq.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(new ASCIIEncoding().GetBytes(usernamePassword))); WebResponse wr = myReq.GetResponse(); Stream receiveStream = wr.GetResponseStream(); StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8); string content = reader.ReadToEnd(); Response.Write(content); }
This is the BeeBole API. Its pretty straight fwd. http://beebole.com/api but I am getting a following 500 error when I run the above:
The remote server returned an error: (500) Internal Server Error.
The default HTTP method for WebRequest is GET. Try setting it to POST, as that's what the API is expecting
myReq.Method = "POST";
I assume you are posting something. As a test, I'm going to post the same data from their curl example.
string url = "https://YOUR_COMPANY_HERE.beebole-apps.com/api"; string data = "{\"service\":\"absence.list\", \"company_id\":3}"; WebRequest myReq = WebRequest.Create(url); myReq.Method = "POST"; myReq.ContentLength = data.Length; myReq.ContentType = "application/json; charset=UTF-8"; string usernamePassword = "YOUR API TOKEN HERE" + ":" + "x"; UTF8Encoding enc = new UTF8Encoding(); myReq.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(enc.GetBytes(usernamePassword))); using (Stream ds = myReq.GetRequestStream()) { ds.Write(enc.GetBytes(data), 0, data.Length); } WebResponse wr = myReq.GetResponse(); Stream receiveStream = wr.GetResponseStream(); StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8); string content = reader.ReadToEnd(); Response.Write(content);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With