2013年7月26日金曜日

自作Twitterクライアント作成の記録(7).NETでのTwitterAPIの操作について

さて、ここでいきなり基本のことを書いていこうと思います。
と、言うのも、わかってる人はわかっていますと思いますが、このブログに書いてるソースを丸々コピーしても使うことができません。
では、どうすればいいのかということを書いておきたいと思います、今頃かよと言いたくなるでしょうが、ええ、今頃です。



さて、早速始めて行きましょう。
まずこのソースはAPIを使うために2つのライブラリを扱ってます。それが「Twitterizer」と「LINQ to Twitter」になります。通常は1つで十分なんですが、訳あって2つ使ってます。
とりあえず、さくっとこの2つをダウンロードしてきましょう。
まずは「Twitterizer」はここ(新しいウインドウで開きます)から、そして開いたら
丸で囲まれた部分をクリックし、Zipファイルをダウンロードしてきましょう。
次に「LINQ to Twitter」はここから、そして開いたら
から、同じくZipファイルををダウンロードしてきましょう。
さて、ここでなぜ2つもライブラリを使う必要があるのかというと、実は「Twitterizer」はAPI1.1に公式で対応してないがOAuth認証の日本語解説サイトが多く、「LINQ to Twitter」はAPI1.1に公式対応されているがOAuth認証の日本語解説サイトが少なく、わかりづらい。
というのが理由です。
え?何API1.1とかOAuth認証とか?
ご心配なく、自分の分かる範囲で解説していきます。

まず、API1.1についてですが、TwitterAPIにはもともと2種類ありAPI1.0とAPI1.1とありました。要するにTwitterにアクセスするための道具のバージョンです。
そしてこのAPI1.0つい最近一切使えなくなりました。つまりAPI1.1対応が必須なわけです。
APIはこれくらいにしておいて、次はOAuth認証についてです。
皆さん、Twitterクライアントを使うとき、初めにこんな設定をさせられませんか?
ここで連携アプリを認証をクリックすると。
こんなふうに何か数列がでてきて、これをアプリケーション側に打ち込みますよね?
これがOAuth認証というやつです。
最初にしておく設定などはこちらのサイトを見てやってもらうとして、そろそろC#側の設定に移りましょう。

まず、先程ダウンロードした2つのライブラリを解凍しましょう。
そしてここからが重要なところ「Twitterizer」はソースがまるごとダウンロードされているので自分でビルドをして、ファイルを作らないといけません。
なのでその方法も解説したいと思います。
まずはVisualStudioを起動しましょう私は2010版で進めていきますが他のバージョンでも大体同じ手順だと思います。
そして、「プロジェクトを開く」から、先ほど解凍したTwitterizer-developフォルダの中のTwitterizer2フォルダを開き「Twitterizer2.csproj」を開きましょう。

ここで、私の環境では一部のソリューションが使用できないという警告が何度も出てきますが使いたい機能は生きてるので問題ないと思います。
そしてこの画像の
ちょっと見にくいかもしれませんがここが「Debug」になっていることを確認して「F6」キーを押しましょう。
そんなもの存在しないよ!というそこのあなた、メニューの「ツール」→「設定」の「上級者設定」にチェックが入っていることを確認しましょう。
またこの部分がグレーアウトしてる方は、「ツール」→「オプション」で出てくるウインドウの左下の「すべての設定の表示」にチェックを入れ「プロジェクトおよびソリューション」をクリックし「ビルド構成の詳細を表示」にチェックをいれてOKボタンをクリックしましょう。
さて、これでビルドしてもらうと、Twitterizer-developフォルダにDebugフォルダができその中にTwitterizer2フォルダ、さらに中にFullフォルダが作成されているはずなので、その中に「Twitterizer2.dll」というファイルが生成されてることを確認しましょう。
さて、これでこんどこそ下準備が終わったので、今度はC#でこのライブラリを使えるようにしましょう。
ここで、ライブラリを使いたいプロジェクトを新たに作るか、読み込んでおきましょう。
この設定はプロジェクトごとに保存されるのでまた新しくプロジェクトを作る場合は必ずしましょう。
「プロジェクト」→「参照の追加」をクリックし、でてきたウインドウで「参照」タブクリックし、まず先ほどビルドしてできたDLLファイルを選びOKボタンをクリックしましょう。これでTwitterizerライブラリが使用可能になります。
そして「LINQ to Twitter」の設定ですが、ここでもう一つの重要な所、解凍したものには「net40」「net45」「net45-client」等いろいろありますが、ここで選択を間違えると動かなかったり、不具合が出る可能性があるので注意してください。
これらを選ぶ前にまず確認するものがあります。メニューの「プロジェクト」→「”プロジェクト名”のプロパティ」をクリックし、アプリケーションタブをクリックしこの画面にしましょう。
そして、赤丸で囲まれた部分が何になっているか確認しましょう。私の場合「.Net Framework 4 Client Profile」になってますね。
ここで感の良い人ならお気づきかも知れませんが、この場合「net40-client」を使います。
「.Net Framework 4」ならば「net40」「.Net Framework 4.5」ならば「net45」もうお分かりですね、フォルダ名が対象のフレームワークと合うものを選びましょう。
もし合うものがない場合は対象のフレームワークを変更できるので、変更してください。
さて、確認が終わった所でさきほどと同じく「プロジェクト」→「参照の追加」をクリックし、でてきたウインドウで「参照」タブクリックし、解凍した場所を開き、自分が使う対象のフレームワークに合うフォルダの中身のDLLファイルをクリックしOKボタンを押して追加しましょう。

これであとは、usingを使いライブラリを読み込めば、これらのライブラリの関数や機能が使えるようになります。(あと、物置においてあるソースも使えます)
かなり長くなったので、誤字脱字等がある可能性があるのでもし見つけたり、質問があればわかる範囲で答えますので、コメントよろしくお願いします。

0 件のコメント:

コメントを投稿