Удаленный сервер ответил на ошибку: (401) Неавторизованный. Twitter oAuth

Я пытаюсь сделать работу twitter oAuth с twitterizer, но я не могу.

Я получаю следующую ошибку:

The remote server returned an error: (401) Unauthorized.

Когда мой URL-адрес обратного вызова является локальным хостом.

Если мой URL-адрес обратного вызова oob, для потока контактов он работает правильно.

Вот мой код:

 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-адреса обратного вызова. На твиттере я регистрирую свой callback-адрес localhost.

Мне что-то не хватает?

Любая идея, что происходит?

Ответ 1

Убедитесь, что ваше приложение установлено как веб-приложение в портале развития. Для адреса обратного вызова убедитесь, что вы используете неправильный адрес (например, домашнюю страницу вашего приложения), а затем укажите реальный адрес во время выполнения.

Веб-приложения могут использовать аутентификацию на основе PIN-кода, но настольные приложения не могут использовать веб-поток.

Ответ 2

У меня была такая же проблема и исправлена ​​ее добавлением "URL-адреса обратного вызова" на странице настроек приложений Twitter. У меня еще не было моего имени домена, поэтому я просто добавил неиспользуемое имя домена, например: http://www.website.com. Звонок запроса Twitterizer немедленно начал работать для меня.

FiSSH