Featured image of post コードを1文字も書かずにMisskeyにログインしてAPIから投稿するアプリを作る

コードを1文字も書かずにMisskeyにログインしてAPIから投稿するアプリを作る

これはMisskey Advent Calendar 2021の19日目の記事です。書いている人は@HiSubway@misskey.ioです。

はじめに

MIT App Inventorというのがあります。ネイティブのAndoridアプリをScratch的な(StarLogo的な)ブロックを組むだけで作れるツールで、2010年から公開され、Scratch同様、主に教育の場で活用されてきました。

ところがこれが意外と高機能で、普通にJava/Kotlinを書いてAndroidアプリを作るのとほとんど同じレベルのことが(やろうと思えば)できるようになっています。直接Javaを書いて拡張機能として取り込むことすらできます。そこで、実用面でも現実的に活用できるのではないかと思うわけです。例として、App Inventorの派生ディストリビューションのKodularを使って作ったMarinDeckは、公開後1年で5万ダウンロードまで伸び、そこそこ使ってもらえています。

今回はApp Inventorを使って、Misskeyにログインし、投稿を送信できるAndroidアプリを作ります。

プロジェクトを作成する

ai2.appinventor.mit.eduにアクセスしてGoogleアカウントにログインすると、My Projectsの画面になります。Start new projectからプロジェクトを作成します。

作ったプロジェクトを開くとこんな感じ。

必要なコンポーネントを配置する

左のPaletteから、必要なコンポーネントを画面上に配置していきます。今回必要なのは、インスタンス名と投稿内容を書き込むテキストボックス、ボタン類、HTTPリクエストを投げるためのWebコンポーネント、ブラウザを開くIntentを飛ばすためのActivityStarterなど。

実際にスマホに表示するとこうなります。上半分がログイン用、下半分が投稿用ですね。

ブロックを並べる

今回の完成形はこんな感じです。1つずつ見ていきます。

最初のブロック。変数の宣言みたいなやつと、リクエストヘッダーを良さげに設定するブロックです。

ログイン処理1つ目。アプリを作成し、戻ってきたidとsecretを覚えて、認証します。

tokenとurlが戻ってくるので、ブラウザに飛ばしてアクセス許可させます。アクセス許可が済んだらアクセストークンを取りにいきます。

保存してログイン完了!

無事ログインができました。

次に投稿の部分。さっき保存したaccessTokenと合わせて投稿したい内容を投げつけるだけですね。簡単。

完成品

apkを置いておきます。また、このaiaをApp Inventorにインポートすれば中身を見たり改変したりできます。

おわりに

というわけで、1文字もコードを書かずにMisskeyに投稿できました。だから何なんだって話ですが、学習コストはほぼゼロだし、絶対にコンパイルエラーとか起きないし、慣れれば爆速で作り進められるし、というところで、小規模なアプリで、実際に動くモック的に使うのは結構アリかなと思いますね。App Inventor、気になったらぜひお試しください。

【Misskey Advent Calendar 2021に戻る】 【Misskey Hubを見る】 【昨日の記事】 【明日の記事】 

Built with Hugo
テーマ StackJimmy によって設計されています。