远程服务器返回错误:(401) 未经授权。Twitter oAuth。

10

我正在尝试使用Twitterizer使Twitter oAuth工作,但我无法成功。

我遇到了以下错误:

远程服务器返回错误: (401) 未经授权

当我的回调URL是localhost的时候。

如果我的回调URL是oob,在针对PIN验证的流程中它可以正常工作。

这是我的代码:

 public ActionResult LogOn(string returnUrl, bool? perm)
    {
        string consumerKeyTw = @"UF3F72XqfGShQs7juKMApA";
        string consumerSecretTW = "secret";
        OAuthTokenResponse requestToken = OAuthUtility.GetRequestToken(consumerKeyTw, consumerSecretTW, "http://localhost:58892/Twitterr/OAuth");

        // Direct or instruct the user to the following address:
        Uri authorizationUri = OAuthUtility.BuildAuthorizationUri(requestToken.Token);

        return new RedirectResult(authorizationUri.ToString(), false);
    }

当我设置回调URL时,我从未收到令牌。在Twitter上,我注册了本地回调URL。

我有什么遗漏吗?

有什么想法?

2个回答

9

请确保您的应用程序在开发门户上设置为 Web 应用程序。对于回调地址,请使用一个错误的地址(如您的应用程序主页),然后在运行时指定实际地址。

Web 应用程序可以使用基于 PIN 的身份验证,但桌面应用程序不能使用 Web 流程。


7
我曾经遇到过同样的问题,通过在Twitter应用程序设置页面中添加“回调URL”来解决它。由于我还没有我的域名,所以我只是添加了一个未使用的域名,例如:http://www.website.com。然后Twitterizer请求立即开始正常工作。
Fissh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接