前段
先週のお勉強の続き。
最近になって漸く Rest API
や OAuth認証
について勉強し始めた話。
目標
C#からTwitterAPIを叩く。
要点だけ書くとこれだけ。
先の日記でも書いたけど、認証不要のシンプルなAPI(livedoorのWeatherAPIを使用)を叩くだけならすぐできた。
TwitterAPIを叩くには今後OAuth認証が絡んで来ると思われるので、この後はまずOAuth認証のお勉強をするつもり。
OAuthのお勉強で参考にしたページ
OAuthとは?
ここが全体概要をざっくり掴む上で非常に解り易かった。
要するにあれね、サーバー証明書みたいな感じね、っていうふわっとした理解を得た。
その次に読んだもの
先のQiita記事からリンクの張られていたもので、図示されていたOAuth認証部分の細かいフローを説明したもの。
OAuth認証では以下の4フローが規定されているらしく、その中でのHTTPでのやりとりについて説明されている。
- 認可コードフロー
- インプリシットフロー
- リソースオーナー・パスワード・クレデンシャルズフロー
- クライアント・クレデンシャルズフロー
※先に読んだやつは非技術者向けの説明記事だったけど、こっちはモロに技術者向けでいきなり内容が濃くなるから注意。
それにしても リソースオーナー・パスワード・クレデンシャルズフロー
って究極魔法感あって好き。
ここまでざっくり読んで
今回は、Twitterの開発者ページ(改め、アプリケーション管理ページ)で、既に api-key/access-token
を発行している状態なので。
はて、若しかしてこれ、OAuth認証のお勉強要らないのでは・・・?
と言う事に気付いた。
まぁでも、お勉強する事自体は無駄では無いので、これはこれでこのまま進めよう。
C#でのOAuth認証実装の参考ページ
Google OAuthBase.cs
Google Code Archive - Long-term storage for Google Code Project Hosting.
ググると間違いなくヒットする有名な OAuthBase.cs
なんだけど、今は入手できないらしい。
OAuthBase.cs からの参考実装
こちらの記事が、参考実装らしいので参考になる。
OAuthBase.cs 派生実装と、GitHub Gist
これが派生実装及びその説明と、ありがたい事に今は入手できなくなった OAuthBase.cs
を保存して Gits
で公開してくれている。
ありがたや、ありがたやー。