連載
» 2011年09月28日 00時00分 UPDATE

App Inventorでアプリ開発はどこまでできるのか(5):コードを書かずにTwitterのAndoridアプリを作るには (1/3)

プログラミング未経験でも手軽にAndroidアプリが作れるApp Inventor。本連載では、App Inventorでアプリを作り、使用しているコンポーネントに関して実際にJavaのAPIと比較して、できることを検証していきます

[多田丈晃,株式会社ビーブレイクシステムズ]

Twitter APIとApp Inventorの部品

 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でアプリを作る人は認証方法については深く考える必要はありません。

APIの機能比較

 TwitterのREST APIでは多くの種類のAPIが用意されています。App Inventorでは各ジャンルのAPIを簡略化したものが用意されています。また、使用頻度が低いと思われる機能については機能が存在しない場合があります。

 まず、Twitter デベロッパサイトのREST API Resourcesページのジャンル分けに従って機能の有無を表に示します。

表1 処理ブロック
ジャンル ジャンル概要 App Inventorの機能有無
OAuth 認証  REST APIと同等の機能を持つ
Search 検索
Timelines タイムライン  REST APIの一部の機能を持つ
Tweets ツイート
Direct Message ダイレクトメッセージ
Friends & Followers 友人とフォロワー
Users ユーザー  未対応
Suggested Users おすすめユーザー
Favorites お気に入り
Lists リスト
Accounts アカウント
Notification SNS通知
Saved Searches 保存した検索
Local Trends ローカルトレンド
Places & Geo 位置情報
Trends トレンド
Block ブロック
Spam Reporting スパム報告
Help 開発用サポート
Legal 法的文書表示

 次に、App Inventorの機能が存在するジャンルで、機能にどのような違いがあるのか説明します。なお、App Inventorの機能の説明の後の括弧書きは、対応するREST APIを表します。

【1】Timelines

 App Inventorで受信できるツイートは以下の通りです。

  • 自分がフォローしているアカウントのツイート(statuses/friends_timeline)
  • 自分が関連しているツイート(statuses/mentions)

 REST APIではApp Inventorのタイムラインに関する機能に加えて、パブリックタイムラインを取得したり、リツイートしたツイートを取得したり、リツイートされたツイートを取得できます。

【2】Tweets

 App Inventorで扱えるツイートの機能は以下の通りです。

  • ツイートを投稿する(status/update)

 REST APIでは上記機能に加え、IDで指定したツイートを取得する機能があります。

【3】Search

 App Inventorで行える検索は以下の通りです。

  • ツイートの検索(search)

 REST APIと同様にキーワードを条件としたツイートの検索が行えます。

【4】Direct Message

 App Inventorで扱えるダイレクトメッセージの機能は以下の通りです。

  • ダイレクトメッセージの送信(direct_messages/new)
  • 受信したダイレクトメッセージを取得(direct_messages)

 REST APIではこの他に、過去に送信したダイレクトメッセージの取得と、ダイレクトメッセージの削除が行えます。

【5】Friends & Followers

 App Inventorで扱える友人とフォロワー機能については以下の通りです。

  • 指定したアカウントをフォローする(friendships/create)
  • フォロワーの一覧を取得する(friends/ids)
  • 指定したアカウントのフォローを解除する(friendships/destroy)

 REST APIではこの他に、お互いにフォロー関係にあるか、ブロックしているかどうか、といった他のアカウントとの詳細な関係を取得可能です。

【6】OAuth

 認証については先ほどご説明した通りで、App Inventorでは認証を行う機能は部品内部に隠ぺいされています。認証に関する機能はREST APIと同等の機能を持っています。

 ここまでApp InventorのTwitter機能で何ができるかを見てきました。次ページからは、具体的にApp InventorでTwitterクライアントを作るには、どのようにすればいいのか、実際にアプリを作りながら理解していきましょう。

       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。