Hi, I´m trying to login through the API in C#, but when I try to get
the token response is wrong. It comes with html content instead a xml
content. It´s really weird. I put the code that i use to do it, if
anyone can help me It will be a great help, thanks!
My code:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://
slimtimer.com/users");
req.Method = "POST";
req.ContentType = "application/xml";
StringBuilder str = new StringBuilder();
str.Append(@"<?xml version=""1.0"" encoding=""UTF-8""?
>");
str.AppendLine("<request>");
str.AppendLine("<user>");
str.AppendLine("<email>" + user+ "</email>");
str.AppendLine("<password>" + pass + "</password>");
str.AppendLine("</user>");
str.AppendLine("<api_key>" + api + "</api_key>");
str.AppendLine("</request>");
byte[] bt = Encoding.ASCII.GetBytes(str.ToString());
req.ContentLength = (long)bt.Length;
Stream body = req.GetRequestStream();
body.Write(bt, 0, bt.Length);
body.Close();
WebResponse rsp = req.GetResponse();
StreamReader sr = new
StreamReader(rsp.GetResponseStream());
string Result = sr.ReadToEnd();
Response body:
|<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/
xhtml1-strict.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml" lang="en">
<head>
<title>SlimTimer - Time Tracking without the Timesheet</title>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8" />
<link href="/stylesheets/front_packaged.css?1332815349"
media="all" rel="Stylesheet"
type="text/css" />
<script src="/javascripts/front_packaged.js?1332815346" type="text/
javascript"></script>
<!--[if IE]><link href="/stylesheets/front_ie_packaged.css?
1332815349" media="all" rel="Stylesheet" type="text/css" /><![endif]--
>
</head>
<body id="front" class="external">
<div id="wrapper">
<div id="main">
<div id="topNav">
Home | <a href="
http://blog.slimtimer.com">Blog</a> |
<a href="/front/about">About</a>
| <a href="/front/api">API</a>
<p id="counter">
<strong>15,923,910</strong> Hours Logged
</p>
</div>
<div id="banner">
<h1>
SlimTimer.com</h1>
<h2 class="row-2">
Timesheets have left the building.</h2>
</div>
<div id="content">
<div id="left">
<div id="step-1" class="step">
<h4>
Create tasks</h4>
<div class="step-content">
<p>
From the <span
class="brand">SLIM<strong>TIMER</strong> </span>you can create tasks
and even share them with your
coworkers and those you report to.
</p>
</div>
<a href="/images/screenshots/add_task.png"
id="screenshot-1" class="screenshot lbOn">
</a>
</div>
<div id="step-2" class="step">
<h4>
time your work</h4>
<div class="step-content">
<p>
Open the <span
class="brand">SLIM<strong>TIMER</strong> </span>and click on a task
to start the clock and click again
when you're finished. If you've completed the
task click the checkbox to mark it
off. Close the browser when you're done.
</p>
</div>
<a href="/images/screenshots/slimtimer.png"
id="screenshot-2" class="screenshot lbOn">
</a>
</div>
<div id="step-3" class="step">
<h4>
Run reports</h4>
<div class="step-content">
<p>
Run reports of not only your time but
also that of your coworkers and reportees.
You can export any report to
CSV(Excel), subscribe to its RSS feed<em>*</em>, or
email it to a colleague<em>*</em>.
</p>
</div>
<a href="/images/screenshots/report.png"
id="screenshot-3" class="screenshot lbOn">
</a>
</div>
<div id="step-4" class="step">
<h4>
That's it!</h4>
<div class="step-content">
<p>
It's that easy! If you don't believe
me then check out this <a href="
http://screeniac.com/wp-content/
uploads/2006/07/slimtimer.com.review.wmv">
<span
class="brand">SLIM<strong>TIMER</strong> </span>screencast </
a>courtesy
of <a href="
http://screeniac.com/
2006/07/21/slimtimercom/">
screeniac.com</a>.
</p>
</div>
<a href="
http://screeniac.com/wp-content/
uploads/2006/07/slimtimer.com.review.wmv"
id="screenshot-4" class="screenshot
lbOn"></a>
</div>
<p id="coming-soon">
<em>*</em> Coming Soon
</p>
</div>
<div id="right">
<div id="loginHeader">
<h3>
Login</h3>
</div>
<div id="loginContainer">
<form action="/users/login" id="login-form"
method="post">
<fieldset>
<legend>Login</legend>
<label>
Email</label>
<input class="text-input" id="user[email]"
name="user[email]" size="20" type="text" />
<label>
Password</label>
<input class="text-input"
id="user[password]" name="user[password]" size="20" type="password" />
<p class="checkbox-container">
<input id="user_remember_me"
name="user[remember_me]" type="checkbox" value="1" /><input
name="user[remember_me]"
type="hidden" value="0" />Remember me
</p>
</fieldset>
<input class="submit" name="commit"
type="submit" value="Login" />
<a href="/users/forgot_password">Forgot my
password</a>
</form>
</div>
<script>
Form.focusFirstElement('login-form');
try {
Rico.Corner.round('loginHeader',
{ corners: 'top' });
Rico.Corner.round('loginContainer',
{ corners: 'bottom' });
} catch (e) { }
</script>
<div id="signup-box-wrapper" class="signup-form">
<div id="signup-box">
<h3>
Create a FREE account</h3>
<form action="/users/create" method="post"
onsubmit="new Ajax.Updater('signup-box', '/users/create',
{asynchronous:true, evalScripts:true, onLoading:function(request)
{Element.show('signup-indicator');},
parameters:Form.serialize(this)}); return false;">
<fieldset>
<legend>Create an Account</legend>
<label>
Full Name</label>
<input class="text-input"
id="user_fullname" name="user[fullname]" size="30" type="text" />
<label>
Email</label>
<input class="text-input"
id="user_email" name="user[email]" size="30" type="text"
value="" />
<label>
Password</label>
<p class="help">
Must be at least <strong>5
characters</strong>
</p>
<input class="text-input"
id="user_password" name="user[password]" size="30" type="password" />
<label>
Password Again</label>
<input class="text-input"
id="user_password_confirmation" name="user[password_confirmation]"
size="30" type="password" />
<label>
Date/Time Format</label>
<select id="user_locale_format"
name="user[locale_format]">
<option value="0">3/25/2006 4:00
PM</option>
<option value="1">25/3/2006 16:00</
option>
<option value="2">2006/3/25 16:00</
option>
</select>
<label>
Time Zone</label>
<select id="user_time_zone"
name="user[time_zone]">
<option value="Eastern Time (US
& Canada)">(GMT-05:00) Eastern Time (US & Canada)</option>
<option value="Central Time (US
& Canada)">(GMT-06:00) Central Time (US & Canada)</option>
<option value="Mountain Time (US
& Canada)">(GMT-07:00) Mountain Time (US &
Canada)</option>
<option value="Pacific Time (US
& Canada)">(GMT-08:00) Pacific Time (US & Canada)</option>
<option value="">-------------</
option>
<option value="International Date
Line West">(GMT-12:00) International Date Line West</option>
<option value="Midway
Island">(GMT-11:00) Midway Island</option>
<option value="Samoa">(GMT-11:00)
Samoa</option>
<option value="Hawaii">(GMT-10:00)
Hawaii</option>
<option value="Alaska">(GMT-09:00)
Alaska</option>
<option
value="Tijuana">(GMT-08:00) Tijuana</option>
<option
value="Arizona">(GMT-07:00) Arizona</option>
<option
value="Chihuahua">(GMT-07:00) Chihuahua</option>
<option value="La Paz">(GMT-07:00)
La Paz</option>
<option
value="Mazatlan">(GMT-07:00) Mazatlan</option>
<option value="Central
America">(GMT-06:00) Central America</option>
<option
value="Guadalajara">(GMT-06:00) Guadalajara</option>
<option value="Mexico
City">(GMT-06:00) Mexico City</option>
<option
value="Monterrey">(GMT-06:00) Monterrey</option>
<option
value="Saskatchewan">(GMT-06:00) Saskatchewan</option>
<option value="Bogota">(GMT-05:00)
Bogota</option>
<option value="Indiana
(East)">(GMT-05:00) Indiana (East)</option>
<option value="Lima">(GMT-05:00)
Lima</option>
<option value="Quito">(GMT-05:00)
Quito</option>
<option value="Atlantic Time
(Canada)">(GMT-04:00) Atlantic Time (Canada)</option>
<option
value="Caracas">(GMT-04:00) Caracas</option>
<option value="La Paz">(GMT-04:00)
La Paz</option>
<option
value="Santiago">(GMT-04:00) Santiago</option>
<option
value="Newfoundland">(GMT-03:30) Newfoundland</option>
<option
value="Brasilia">(GMT-03:00) Brasilia</option>
<option value="Buenos
Aires">(GMT-03:00) Buenos Aires</option>
<option
value="Georgetown">(GMT-03:00) Georgetown</option>
<option
value="Greenland">(GMT-03:00) Greenland</option>
<option value="Mid-
Atlantic">(GMT-02:00) Mid-Atlantic</option>
<option value="Azores">(GMT-01:00)
Azores</option>
<option value="Cape Verde
Is.">(GMT-01:00) Cape Verde Is.</option>
<option value="Casablanca">(GMT)
Casablanca</option>
<option value="Dublin">(GMT)
Dublin</option>
<option value="Edinburgh">(GMT)
Edinburgh</option>
<option value="Lisbon">(GMT)
Lisbon</option>
<option value="London">(GMT)
London</option>
<option value="Monrovia">(GMT)
Monrovia</option>
<option value="Amsterdam">(GMT
+01:00) Amsterdam</option>
<option value="Belgrade">(GMT
+01:00) Belgrade</option>
<option value="Berlin">(GMT+01:00)
Berlin</option>
<option value="Bern">(GMT+01:00)
Bern</option>
<option value="Bratislava">(GMT
+01:00) Bratislava</option>
<option value="Brussels">(GMT
+01:00) Brussels</option>
<option value="Budapest">(GMT
+01:00) Budapest</option>
<option value="Copenhagen">(GMT
+01:00) Copenhagen</option>
<option value="Ljubljana">(GMT
+01:00) Ljubljana</option>
<option value="Madrid">(GMT+01:00)
Madrid</option>
<option value="Paris">(GMT+01:00)
Paris</option>
<option value="Prague">(GMT+01:00)
Prague</option>
<option value="Rome">(GMT+01:00)
Rome</option>
<option value="Sarajevo">(GMT
+01:00) Sarajevo</option>
<option value="Skopje">(GMT+01:00)
Skopje</option>
<option value="Stockholm">(GMT
+01:00) Stockholm</option>
<option value="Vienna">(GMT+01:00)
Vienna</option>
<option value="Warsaw">(GMT+01:00)
Warsaw</option>
<option value="West Central
Africa">(GMT+01:00) West Central Africa</option>
<option value="Zagreb">(GMT+01:00)
Zagreb</option>
<option value="Athens">(GMT+02:00)
Athens</option>
<option value="Bucharest">(GMT
+02:00) Bucharest</option>
<option value="Cairo">(GMT+02:00)
Cairo</option>
<option value="Harare">(GMT+02:00)
Harare</option>
<option value="Helsinki">(GMT
+02:00) Helsinki</option>
<option value="Istanbul">(GMT
+02:00) Istanbul</option>
<option value="Jerusalem">(GMT
+02:00) Jerusalem</option>
<option value="Kyev">(GMT+02:00)
Kyev</option>
<option value="Minsk">(GMT+02:00)
Minsk</option>
<option value="Pretoria">(GMT
+02:00) Pretoria</option>
<option value="Riga">(GMT+02:00)
Riga</option>
<option value="Sofia">(GMT+02:00)
Sofia</option>
<option value="Tallinn">(GMT
+02:00) Tallinn</option>
<option value="Vilnius">(GMT
+02:00) Vilnius</option>
<option value="Baghdad">(GMT
+03:00) Baghdad</option>
<option value="Kuwait">(GMT+03:00)
Kuwait</option>
<option value="Moscow">(GMT+03:00)
Moscow</option>
<option value="Nairobi">(GMT
+03:00) Nairobi</option>
<option value="Riyadh">(GMT+03:00)
Riyadh</option>
<option value="St. Petersburg">(GMT
+03:00) St. Petersburg</option>
<option value="Volgograd">(GMT
+03:00) Volgograd</option>
<option value="Tehran">(GMT+03:30)
Tehran</option>
<option value="Abu Dhabi">(GMT
+04:00) Abu Dhabi</option>
<option value="Baku">(GMT+04:00)
Baku</option>
<option value="Muscat">(GMT+04:00)
Muscat</option>
<option value="Tbilisi">(GMT
+04:00) Tbilisi</option>
<option value="Yerevan">(GMT
+04:00) Yerevan</option>
<option value="Kabul">(GMT+04:30)
Kabul</option>
<option value="Ekaterinburg">(GMT
+05:00) Ekaterinburg</option>
<option value="Islamabad">(GMT
+05:00) Islamabad</option>
<option value="Karachi">(GMT
+05:00) Karachi</option>
<option value="Tashkent">(GMT
+05:00) Tashkent</option>
<option value="Chennai">(GMT
+05:30) Chennai</option>
<option value="Kolkata">(GMT
+05:30) Kolkata</option>
<option value="Mumbai">(GMT+05:30)
Mumbai</option>
<option value="New Delhi">(GMT
+05:30) New Delhi</option>
<option value="Kathmandu">(GMT
+05:45) Kathmandu</option>
<option value="Almaty">(GMT+06:00)
Almaty</option>
<option value="Astana">(GMT+06:00)
Astana</option>
<option value="Dhaka">(GMT+06:00)
Dhaka</option>
<option value="Novosibirsk">(GMT
+06:00) Novosibirsk</option>
<option value="Sri
Jayawardenepura">(GMT+06:00) Sri Jayawardenepura</option>
<option value="Rangoon">(GMT
+06:30) Rangoon</option>
<option value="Bangkok">(GMT
+07:00) Bangkok</option>
<option value="Hanoi">(GMT+07:00)
Hanoi</option>
<option value="Jakarta">(GMT
+07:00) Jakarta</option>
<option value="Krasnoyarsk">(GMT
+07:00) Krasnoyarsk</option>
<option value="Beijing">(GMT
+08:00) Beijing</option>
<option value="Chongqing">(GMT
+08:00) Chongqing</option>
<option value="Hong Kong">(GMT
+08:00) Hong Kong</option>
<option value="Irkutsk">(GMT
+08:00) Irkutsk</option>
<option value="Kuala Lumpur">(GMT
+08:00) Kuala Lumpur</option>
<option value="Perth">(GMT+08:00)
Perth</option>
<option value="Singapore">(GMT
+08:00) Singapore</option>
<option value="Taipei">(GMT+08:00)
Taipei</option>
<option value="Ulaan Bataar">(GMT
+08:00) Ulaan Bataar</option>
<option value="Urumqi">(GMT+08:00)
Urumqi</option>
<option value="Osaka">(GMT+09:00)
Osaka</option>
<option value="Sapporo">(GMT
+09:00) Sapporo</option>
<option value="Seoul">(GMT+09:00)
Seoul</option>
<option value="Tokyo">(GMT+09:00)
Tokyo</option>
<option value="Yakutsk">(GMT
+09:00) Yakutsk</option>
<option value="Adelaide">(GMT
+09:30) Adelaide</option>
<option value="Darwin">(GMT+09:30)
Darwin</option>
<option value="Brisbane">(GMT
+10:00) Brisbane</option>
<option value="Canberra">(GMT
+10:00) Canberra</option>
<option value="Guam">(GMT+10:00)
Guam</option>
<option value="Hobart">(GMT+10:00)
Hobart</option>
<option value="Melbourne">(GMT
+10:00) Melbourne</option>
<option value="Port Moresby">(GMT
+10:00) Port Moresby</option>
<option value="Sydney">(GMT+10:00)
Sydney</option>
<option value="Vladivostok">(GMT
+10:00) Vladivostok</option>
<option value="Magadan">(GMT
+11:00) Magadan</option>
<option value="New Caledonia">(GMT
+11:00) New Caledonia</option>
<option value="Solomon Is.">(GMT
+11:00) Solomon Is.</option>
<option value="Auckland">(GMT
+12:00) Auckland</option>
<option value="Fiji">(GMT+12:00)
Fiji</option>
<option value="Kamchatka">(GMT
+12:00) Kamchatka</option>
<option value="Marshall Is.">(GMT
+12:00) Marshall Is.</option>
<option value="Wellington">(GMT
+12:00) Wellington</option>
<option value="Nuku'alofa">(GMT
+13:00) Nuku'alofa</option>
</select>
</fieldset>
<input class="submit" name="commit"
type="submit" value="Sign Up" />
<img src="/images/indicator.gif"
style="display: none;" id="signup-indicator" />
</form>
</div>
</div>
<script>
Rico.Corner.round('signup-box-wrapper');
</script>
</div>
<!-- Google Code for default Conversion Page -->
<script language="JavaScript" type="text/javascript">
<!--
var google_conversion_type = 'landing';
var google_conversion_id = 1063327613;
var google_conversion_language = "en_US";
var google_conversion_format = "1";
var google_conversion_color = "666666";
//-->
</script>
<script language="JavaScript" src="http://
www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<img height="1" width="1" border="0" src="http://
www.googleadservices.com/pagead/conversion/1063327613/extclk?script=0">
</noscript>
</div>
<div class="clear-fix">
</div>
</div>
</div>
<p id="footer">
<span id="external-links"><a href="
http://digg.com/software/
SlimTimer_-_Keeps_Track_of_Time_on_Tasks"
id="digg-link" target="_blank">Digg It!</a> <a
href="
http://del.icio.us/post?v=2&url=http://www.slimtimer.com"
id="delicious-link" target="_blank">
Del.icio.us</a> </
span>© 2012 <a href="
http://www.height1percent.com"
target="_blank">Richard White</a> ... <a
href="
http://blog.slimtimer.com" target="_blank">
Blog</a> | <a href="http://
slimtimer.uservoice.com/" target="_blank">Feedback</a>
| <a href="/help/privacy" target="_blank">Privacy Policy</a>
</p>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-7223357-2']);
_gaq.push(['_trackPageview']);
(function () {
var ga = document.createElement('script'); ga.type = 'text/
javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ?
'
https://ssl' : '
http://www') + '.
google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
})();
</script>
<script type="text/javascript">
var uvOptions = {};
(function () {
var uv = document.createElement('script'); uv.type = 'text/
javascript'; uv.async = true;
uv.src = ('https:' == document.location.protocol ?
'https://' : 'http://') + '
widget.uservoice.com/
AKMQiAR03XdbBZt4b0mlvw.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(uv, s);
})();
</script>
</body>
</html>
Regards,
Mariano