2012-04-14 5 views
0

Я нуждается в полной C# пример того, как использовать 37Signals OAuth, как описано здесь: http://groups.google.com/group/37signals-api/browse_thread/thread/86b0da52134c1b7e37Signals OAuth C# пример

я могу получить время ограниченный код проверки, как указано в пункте 3, но оттуда я «Не удалось успешно выполнить POST, чтобы выкупить код и вернуть токен.

Вот что я сделал до сих пор, на данный момент код возвращает 401 Несанкционированное ошибку:

HttpWebRequest webRequest = null; 
WebResponse webResponse = null; 
byte[] byteArray = Encoding.UTF8.GetBytes(code); 

webRequest = (HttpWebRequest)WebRequest.Create("https://launchpad.37signals.com/authorization/token?client_id=" + clientId + "&redirect_uri=" + redirectUri + "&client_secret=" + clientSecret + "&type=web_server"); 
webRequest.Method = "POST"; 
webRequest.ContentLength = byteArray.Length; 
webRequest.ContentType = "application/xml','Authorization: OAuth'"; 

string EncryptedDetails = Convert.ToBase64String(Encoding.ASCII.GetBytes(code)); 
webRequest.Headers.Add("Authorization", "Token" + code); 

Stream dataStream = webRequest.GetRequestStream(); 
dataStream.Write(byteArray, 0, byteArray.Length); 
dataStream.Close(); 

webResponse = webRequest.GetResponse(); 

Любые идеи и предложения можно только приветствовать, пожалуйста :) Спасибо!

+0

Я предлагаю вам UrlEncode строки, которые вы конкатцируете в URL-адрес запроса. – usr

ответ

1

Я предлагаю вам использовать библиотеку, которая работает на уровне протокола. Лучший из них - http://www.dotnetopenauth.net/

В каталоге Samples есть примеры использования.

Смежные вопросы