Twitter OAuth对网址编码不同

时间:2012-07-08 05:12:05

标签: .net twitter

我正在从.NET调用状态更新,当我发布没有空格或特殊字符的推文时,它会发布,但是当有其他特殊字符我得到一个不同的OAuth签名基本字符串时,Twitter Oauth工具会显示这个< em> status = Hello world :

status%3DHello%2520world

.NET Uri.EscapeDataString(post_body)显示:

status%3DHello%20world

这导致401未经授权的OAuth签名不同。

我该如何解决这个问题? (实际上,Twitter的空间编纂似乎没有任何标准)

谢谢

1 个答案:

答案 0 :(得分:0)

Twitter遵循规范。.取决于编码终点在哪里。

  1. URL对键和值进行编码。你和推特都得到这个 对。您会看到:
  2. 按键排序,而不按值排序。加入每个键并 值以'='表示,然后通过'&'将其与其他值连接起来。以来 没有“&”,这什么也没做。自从我在这里猜 尚未使用此Twitter工具。
  3. 对整个字符串进行编码。

    “ status = hello%20world”->“ status%3Dhello%2520world”