1

私は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 にあります

4

1 に答える 1