Twitter バージョン 1.1 API を照会する必要がある MVC4 Web アプリケーションを作成しています。MVC4 に組み込まれており、 AuthConfig.csでOAuthWebSecurity.RegisterTwitterClientをアクティブにするだけで、「Twitter でサインイン」機能を使用できます。これにより、Twitter のログインが認証されますが、ユーザーに代わって API v1.1 呼び出しを実行できるように、ユーザーを承認する必要があります。
カスタム クラスを使用して別の問題 (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) Unauthorized」エラーが発生します。これは私が呼び出しに使用するコードです:
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も送信できますか?
また、これには DotNetOpenAuth を使用できないという Stack Overflow の投稿も見つけました。しかし、DotNetOpenAuth コードはそれ以来更新されており、それが私がやりたいことを満たしているかどうかを知りたいのです。これは本質的に非常に単純なことです: ユーザーが Twitter を使用して Web アプリケーションにログインできるようにし、次に許可するユーザーのフォロワーを見るための私のWebアプリケーション。
要約すると、 MVC4で DotNetOpenAuth を使用してユーザーを承認し、ユーザーに代わって Twitter API v1.1 を呼び出して、たとえばGET follower/idsすることはできますか? 可能であれば、どうすればよいですか?