プログラミング未経験でも手軽にAndroidアプリが作れるApp Inventor。本連載では、App Inventorでアプリを作り、使用しているコンポーネントに関して実際にJavaのAPIと比較して、できることを検証していきます
App InventorではアプリをTwitterクライアントにできる機能が用意されています。本連載「App Inventorでアプリ開発はどこまでできるのか」では、毎回「App Inventorは簡単」といい続けているので、耳にタコができていると思いますが、今回のTwitterについても、もちろんJavaで作るよりも簡単です。
今回は、Twitterクライアントということで、比較する対象が今までと異なります。今まではJava、つまりAndroid SDKのAPIと対になる部品を取り上げていました。しかし、今回取り上げるTwitterという部品はTwitterというWebサービスに接続するための部品です。
JavaやAndroid SDKの標準にはTwitterに接続するための部品はありません。実際には「Twitter4J」のようなライブラリを活用し、Twitter APIをラップし、直接触らないことが多いと思います。そのようなライブラリの基本となっているのは、やはりTwitter APIです。よって今回は、App InventorのTwitter部品とTwitter APIとを比較し、App Inventorの実力を見てもらいたいと思います。
Twitter APIは、「Streaming API」「REST API」の2種類に大別できます。
これらは取り扱うデータの特性に合わせて使い分けます。Streaming APIは名前の通り大量に流れるデータを扱うためのAPIです。タイムラインを取り扱うアプリを作る場合ではこちらのAPIを利用します。
また現時点では、Streaming APIではタイムラインを取得するための機能のみ用意されています。対して、REST APIでもタイムラインを扱えますが、その場合はツイートの抜けが多くなるため、ふさわしくありません。そして、REST APIはTwitter APIの基本機能をすべて持つ基本のAPIです。REST APIではツイートの投稿や別のアカウントをフォローするなどが可能です。
App InventorのTwitter部品は、このうちREST APIのみサポートしています。
Twitterで用意しているAPIの認証には「OAuth」「xAuth」の2種類があります。
基本的にはOAuthを使うことが推奨されています。OAuthが使用できないような場合にのみ、その簡略版であるxAuthの認証を使用することになります。App InventorのTwitter部品は、このうちOAuthの方を使用するようになっています。
なお、OAuthの認証を実行する手順はApp Inventor内に隠ぺいされています。そのため、App Inventorでアプリを作る人は認証方法については深く考える必要はありません。
TwitterのREST APIでは多くの種類のAPIが用意されています。App Inventorでは各ジャンルのAPIを簡略化したものが用意されています。また、使用頻度が低いと思われる機能については機能が存在しない場合があります。
まず、Twitter デベロッパサイトのREST API Resourcesページのジャンル分けに従って機能の有無を表に示します。
表1 処理ブロック | ||||||||||||||||||||||||||||||||||||||||||||||
|
次に、App Inventorの機能が存在するジャンルで、機能にどのような違いがあるのか説明します。なお、App Inventorの機能の説明の後の括弧書きは、対応するREST APIを表します。
App Inventorで受信できるツイートは以下の通りです。
REST APIではApp Inventorのタイムラインに関する機能に加えて、パブリックタイムラインを取得したり、リツイートしたツイートを取得したり、リツイートされたツイートを取得できます。
App Inventorで扱えるツイートの機能は以下の通りです。
REST APIでは上記機能に加え、IDで指定したツイートを取得する機能があります。
App Inventorで行える検索は以下の通りです。
REST APIと同様にキーワードを条件としたツイートの検索が行えます。
App Inventorで扱えるダイレクトメッセージの機能は以下の通りです。
REST APIではこの他に、過去に送信したダイレクトメッセージの取得と、ダイレクトメッセージの削除が行えます。
App Inventorで扱える友人とフォロワー機能については以下の通りです。
REST APIではこの他に、お互いにフォロー関係にあるか、ブロックしているかどうか、といった他のアカウントとの詳細な関係を取得可能です。
認証については先ほどご説明した通りで、App Inventorでは認証を行う機能は部品内部に隠ぺいされています。認証に関する機能はREST APIと同等の機能を持っています。
ここまでApp InventorのTwitter機能で何ができるかを見てきました。次ページからは、具体的にApp InventorでTwitterクライアントを作るには、どのようにすればいいのか、実際にアプリを作りながら理解していきましょう。
Copyright © ITmedia, Inc. All Rights Reserved.