1

我正在按照Twitter关于如何在 iOS 中执行反向身份验证以获取访问令牌的说明进行操作,但我被困在第 1 步。我使用TweetStation 的 OAuth 代码作为模板。

当前的AcquireRequestToken()方法工作正常 - 所以我知道创建签名等不是错误。但是,当我像这样添加 reverse_auth 标头时:

var headers = new Dictionary<string,string> () {
    { "oauth_callback", OAuth.PercentEncode (config.Callback) },
    { "oauth_consumer_key", config.ConsumerKey },
    { "oauth_nonce", MakeNonce () },
    { "oauth_signature_method", "HMAC-SHA1" },
    { "oauth_timestamp", MakeTimestamp () },
    { "oauth_version", "1.0" },
    { "x_auth_mode", "reverse_auth" }};

我收到 401 响应。我是否误读了 Twitter 的说明?我还应该做些什么来调整这个初始请求吗?感谢您对此的任何意见,因为我完全被难住了。

4

1 回答 1

1

找到了答案 - 标题字典本身从未真正发送过,因此 x_auth_mode 值也不是。解决方案是将其添加到 POST 正文中:

var res = wc.UploadString (config.RequestTokenUrl,"POST", "x_auth_mode=reverse_auth");

现在效果很好。

于 2013-01-21T18:39:35.250 回答