Я пишу веб-приложение MVC4, которое должно запрашивать API Twitter версии 1.1. Встроенный в MVC4, я могу использовать функцию «Войти через Twitter», когда я просто активирую OAuthWebSecurity.RegisterTwitterClient в AuthConfig.cs. Затем это аутентифицирует вход в Twitter, но я хочу авторизовать пользователя, чтобы я мог выполнять вызовы API v1.1 от имени пользователя.
Я нашел этот пост в Stack Overflow, в котором используется настраиваемые классы для решения чего-то другого (проблема с параметром force_login), но я использовал эти классы и изменил UserAuthorizationEndpoint на oauth / authorize. Я изменил эту строку кода:
UserAuthorizationEndpoint = new MessageReceivingEndpoint("https://api.twitter.com/oauth/authenticate", HttpDeliveryMethods.GetRequest | HttpDeliveryMethods.AuthorizationHeaderRequest),
к этому:
UserAuthorizationEndpoint = new MessageReceivingEndpoint("https://api.twitter.com/oauth/authorize", HttpDeliveryMethods.GetRequest | HttpDeliveryMethods.AuthorizationHeaderRequest),
Он работает для авторизации, а это значит, что теперь мое приложение авторизует пользователя Twitter. Однако, когда я вызываю API v1.1, я получаю ошибку «(401) Неавторизован». Это код, который я использую для звонка:
var var1 = WebWorker.PrepareAuthorizedRequest(new MessageReceivingEndpoint("https://api.twitter.com/1.1/followers/ids.json?cursor=-1&screen_name=sitestreams", HttpDeliveryMethods.GetRequest), accessToken);
var var2 = var1.GetResponse();
Думаю, мне также нужен oauth_token_secret для авторизации вызова. Может ли DotNetOpenAuth предоставить мне oauth_token_secret? Могу ли я затем использовать WebWorker.PrepareAuthorizedRequest для отправки также oauth_token_secret?
Я также нашел этот пост в Stack Overflow, в котором говорится, что я не могу использовать для этого DotNetOpenAuth. Однако с тех пор код DotNetOpenAuth был обновлен, и я хочу знать, обслуживает ли он теперь то, что я хочу делать, что, по сути, очень простая вещь: разрешить пользователю войти в мое веб-приложение с помощью Twitter, а затем разрешить мое веб-приложение, чтобы увидеть подписчиков пользователя.
Итак, все сводится к следующему: могу ли я использовать DotNetOpenAuth в MVC4 для авторизации пользователя, а затем вызвать Twitter API v1.1 от имени пользователя, например, чтобы ПОЛУЧИТЬ подписчиков / идентификаторы em>. Если возможно, как мне это сделать?