Удаленный сервер ответил на ошибку: (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