私はRestSharp(http://restsharp.org/)を使用して、win8用のTwitterクライアントに取り組んでおり、次のような問題があります:RestClientで新しいツイートを投稿しているとき
var timeLine = new RestRequest("/1/statuses/update.json", Method.POST);
var txt = "Hello world";
timeLine.AddParameter("status", txt);
すべてがうまく機能しますが、次のようなより複雑なステータスを追加すると:
var txt = "Hello, World! What a nice day! #1May";
timeLine.AddParameter("status", txt);
401 エラーが表示されます。私が見たデバッガーでは、Signature Base String の status パラメーターが正しくありません。私は持っている:
status%3DHello%2C%2520World%21%2520What%2520a%2520nice%2520day%21%2520%231May
右の文字列 (dev.twitter.com から):
status%3DHello%252C%2520World%2521%2520What%2520a%2520nice%2520day%2521%2520%25231May
句読点、!# およびその他のエンコードが正しくないことがわかります。どうすれば修正できますか?署名ベースの生成とエンコーディングは /Authenticators/OAuth/OAuthTools.cs にあります