連載第4回目はTwitterにつぶやく処理を実装します。
連載目次
はじめに
第1回 Google Analytics APIの利用準備
第2回 Google AnalyticsからPVを取得する
第3回 Twitter APIの利用準備
第4回 Twitterに投稿する
第5回 Webアプリケーションにまとめる
最終回 Azureへのデプロイ
CoreTweetのインストール
パッケージマネージャコンソールでCoreTweetをインストールします。
PM> Install-Package CoreTweet
app.configにTwitter API関連の設定を追加
app.configに前回行った作業で取得した以下の設定を追加します。
- Consumer Key (API Key)
- Consumer Secret (API Secret)
- Access Token
- Access Token Secret
<add key="consumerKey" value="xxxxxxxxxx"/> <add key="consumerSecret" value="xxxxxxxxxx"/> <add key="accessToken" value="xxxxxxxxxx-xxxxxxxxxx"/> <add key="accessTokenSecret" value="xxxxxxxxxx"/>
TwitterHelperクラスの作成
プロジェクトにTwitterHelperクラスを追加します。
public static class TwitterHelper { public static async Task UpdateStatusAsync(string message) { var consumerKey = ConfigurationManager.AppSettings["consumerKey"]; var consumerSecret = ConfigurationManager.AppSettings["consumerSecret"]; var accessToken = ConfigurationManager.AppSettings["accessToken"]; var accessTokenSecret = ConfigurationManager.AppSettings["accessTokenSecret"]; var tokens = Tokens.Create(consumerKey, consumerSecret, accessToken, accessTokenSecret); await tokens.Statuses.UpdateAsync(status => message); } }
動作確認
動作確認ですが、コンソールアプリケーションもしくは単体テストプロジェクトを作成して、以下の様なコードで動作確認できます。
TwitterHelper.UpdateStatusAsync("テスト " + DateTime.Now.ToString("hh:mm:ss")).Wait();
私はどちらかというと単体テストプロジェクトで確認する派ですね。他のテストと一緒に実行するうちにAPI消費するからやめた方がいいんじゃない。そもそも単体テストじゃないし。という突っ込みを頂きました。確かにその通りですね。考えを改めたいと思います。
おわり
これでTwitterでつぶやくことができるようになりました。
次回はPVの取得とTwitterへのつぶやきを一連の処理にまとめます。