0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Windows IoT Core からインターネットに簡単にアクセスできることが分かったので、もうちょっ突っ込んで Twitter API を呼んでみましょう。Twitter API の呼び出しは、認証やらあれこれがあって自前で組むと結構大変ですが、Windows の .NET が使えるので、NuGet から CoreTweet を使って Twitter API をアクセスすることができます。

NuGet Gallery | CoreTweet 0.7.2.352

これは、Windows IoT Core が UWP アプリだからできることで、これは生の Raspberry Pi で Rasbian を使ったときよりも有利な点です(まあ、apt-get してあれこれやればいいんですけどね。Python を使えばそれほど難しくない)。

サンプルを動かしてみよう

moonmile/winiot-samples: Windows IoT Core samples

ここの RPiFavo をダウンロードすると簡単ですが Twitter のファボを利用できます。API キー等は、頑張って Twitter のデベロッパーのサイトから取得してください

const string ApiKey = "API_KEY";
const string ApiSecret = "API_SECRET";
const string AccessToken = "ACCESS_TOKEN";
const string AccessTokenSecret = "ACCESS_TOKEN_SECRET";

画面を作る

001.jpg

XAML を使ってデザインしていきます。

コードを書く

ファボ(現いいね)を取得するところは、普通の UWP アプリと変わりません。GET ボタンをクリックするとファボの一覧を取ってきて、ListView に表示させています。

/// <summary>
/// ファボを取得
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private async void Button_Click(object sender, RoutedEventArgs e)
{
    var tokens = CoreTweet.Tokens.Create(ApiKey, ApiSecret, AccessToken, AccessTokenSecret);
    var favs = await tokens.Favorites.ListAsync();


    var items = new List<Status>();
    foreach (var it in favs)
    {
        items.Add(it);
    }

    lv.ItemsSource = items;
    text1.Text = $"Count: {items.Count}";
    return;

}

これだと、いちいち画面でマウスをクリックしなければいけないので、外部のボタンと連携させるといいですよね。そのあたりは、最初のボタン - Qiita と組み合わせると、物理的なボタンを押したらファボを取ってくるような Raspberry Pi ができるわけです。

動作させてみる

実機で動かすとこんな感じになります。

002.jpg

モニタがあればそれに出力していもいいし、ネットワークを通じて別の PC に送信してもいいし、色々できると思うので試してみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?