Удаленный сервер возвратил ошибку: (401) Несанкционированный. Twitter oAuth - PullRequest
10 голосов
/ 07 июня 2011

Я пытаюсь заставить твиттер работать oAuth с твиттерзайзером, но не могу.

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

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

Я что-то упустил?

Есть идеи, что происходит?

Ответы [ 2 ]

9 голосов
/ 07 июня 2011

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

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

7 голосов
/ 18 августа 2012

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

FiSSH

...