Neutral Scent

App developments & Gadgets

ReactiveOAuthではてなOAuth認証


主に個人的メモ。
WP7ではてなのOAuth認証をしようとしてReactiveOAuthを使うと、なんだかExceptionが出てうまくいきません。かねてから調べようと思いつつ棚上げして放置していたのですが、もばうぷでおなじみの@ChiiAyano先生の悲鳴(?)が...

良い機会なので調べてみました。
以下のように呼び出せば恐らく通るようになると思います。
ようするにはてな認証さんはoauth_callbackが足りないんだよ、と怒っていただけのようです。



var authorizer = new OAuthAuthorizer(ConsumerKey, ConsumerSecret);
authorizer.GetRequestToken("https://www.hatena.com/oauth/initiate", new[] { new Parameter("oauth_callback", "oob") })
.Select(res => res.Token)
.ObserveOnDispatcher()
.Subscribe(token =>
{
requestToken = token;
var url = authorizer.BuildAuthorizeUrl("https://www.hatena.ne.jp/touch/oauth/authorize", token);
webBrowser1.Navigate(new Uri(url));
});
うまく行かなかったらご一報ください。(ググってみた感じ、DropBoxTumblrAPIでも同様の様子?)
ReactiveOAuthさんはわりとぶっきらぼうにエラーを返してくるので、OAuthのエラー詳細がdebugしたいんだ! という方は私のfork版をビルドして組み込んでみてください。例外でサーバーが返してきたエラーが見れるようになると思います。

追記:
RequestTokenは取得できるものの、AccessTokenで再びエラーとの情報をいただき調査中です。