2012-04-14 11 views
0

、ここで説明したように、私は37Signals社のOAuthを使用する方法の完全なC#の例を必要としているよ:http://groups.google.com/group/37signals-api/browse_thread/thread/86b0da52134c1b7e37Signals社のOAuth C#の例

ポイント3で述べたように、私はそこから、時間制限された確認コードを取得することができます

Iコードを交換してトークンを取り戻すために、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

リクエストURLに連結する文字列をUrlEncodeすることをお勧めします。 – usr

答えて

1

プロトコルレベルの作業を行うライブラリを使用することをお勧めします。私が知っている最良のものはhttp://www.dotnetopenauth.net/

Samplesフォルダーにあります。