前回の記事 の問題はやっぱり Twitter 側の不具合だったらしく、再度アプリ登録したら普通にうまくいきました
ということで前回やりたかったことの続きです
下記のページの登録したアプリ一覧を開きます
その後、対象のアプリページを開いてから「Keys and Access Tokens」のタブを選択して、「Generate My Access Tokens and Token Secret」ボタンを押下し必要なキー情報を生成します
生成後に表示されたページの 「Consumer Key (API Key) 」、「Consumer Secret (API Secret)」、「Access Token」、「Access Token Secret」は後で利用するのでメモしておきます
さて、ここからはコーディング
Visual Studio で Xamarin.Forms のプロジェクトを作成したら Nuget から CoreTweet のパッケージをインストールします
あとはおためし・・・次のようなサービスクラスを書いてみました
/// <summary> /// つぶやきサービス /// </summary> public class TweetService { /// <summary> /// Consumer Key (API Key) /// </summary> private const string ApiKey = @"ここに API Key を記述"; /// <summary> /// Consumer Secret (API Secret) /// </summary> private const string ApiSecret = @"ここに API Secret を記述"; /// <summary> /// Access Token /// </summary> private static readonly string AccessToken = @"ここに Access Token を記述"; /// <summary> /// Access Token Secret /// </summary> private static readonly string AccessTokenSecret = @"ここに Access Token Secret を記述"; /// <summary> /// つぶやく /// </summary> /// <param name="message">つぶやく内容</param> /// <param name="cancellation">中断トークン</param> /// <returns></returns> public async Task TweetAsync(string message, CancellationToken cancellation) { var tokens = Tokens.Create(ApiKey, ApiSecret, AccessToken, AccessTokenSecret); var result = await tokens.Statuses.UpdateAsync( new { status = message }, cancellation); } /// <summary> /// つぶやく /// </summary> /// <param name="message">つぶやく内容</param> /// <returns></returns> public Task TweetAsync(string message) { return this.TweetAsync(message, new CancellationTokenSource().Token); } }
private な定数には、先ほどメモした各種キー文字列を記述します
さらにこのサービスクラスを下記のように呼び出すコードを書きます
await this.service.TweetAsync("これは Programmable な Tweet テストです!");
このコードをさっそく実行!
無事につぶやけましたね! CoreTweet は偉大です