追記:現在サービスを停止中です。申し訳ありません🙏
こんにちは、@y_temp4 です!
みなさん、ALIS でたくさん記事を書いていますか!?自分は最近はあまり記事をかけていなかったので、これからはたくさん書いていきたいです!
ところで、ブログサービスにとって重要な機能とは何でしょうか?・・・そうです、予約投稿機能です!!!
予約投稿ができると、好きなタイミングに記事を公開できるので便利ですよね。自分も昔 WordPress でブログを書いていたときとか、よく利用していました。
ALIS でもこの「予約投稿機能」がたびたび話題にあがることがありましたね。
そこで、このたび ALIS の OAuth 機能を用いて、ALIS の記事を予約投稿できるようにするサービスを開発したのでご紹介します!
ヘルプのページにある通りです。簡単ですね!!!
基本的に ALIS で認証を行って、投稿したい記事の ID と予約投稿時刻、その他以下の情報を入力すれば予約投稿の登録が完了します。
ちなみに、ALIS の現在の仕様として、下書き時には下記 3 つの情報が保存されません。
・サムネイル画像の URL
・カテゴリー
・タグ
ですので、予約投稿のときにこれらの情報を登録する必要があります。
せっかくなので、このサービスを作ったときに利用した技術の話をしておきます👍
ALIS 予約投稿システムは、主に以下の技術を用いて開発されています。
・ALIS の OAuth
・Nuxt.js
・Tailwind CSS
・Firebase(Cloud Functions、Cloud Firestore、Hosting 等)
Nuxt.js は ALIS でも利用してきたので馴染みがありましたが、それ以外は今回始めて使う技術だったので新鮮でした(OAuth は開発自体に携わりましたが😅)。
予約投稿を実現するために Firebase の Schedule Function を利用しています。要はバッチ処理なので、API を叩きすぎるのが嫌で予約投稿の間隔は 1 時間に設定しています。もし余裕そうであれば 30 分おきとかに回すようにするかもしれません。
予約投稿は結構要望があった機能なので、作れてよかったんじゃないかな〜と思います。
とはいえ、開発してて感じたのは、この機能はまだ自分が中の人だったときに作ったほうが楽だったんじゃないかということですね・・・。とはいえ、中の人だったときは開発リソースの観点もありましたし、さらに個人的に OAuth や普段使わない新しい技術を使って何か開発したかった!というモチベーションもあるのでまぁ良しとしましょう👍
あと、言い訳がましいですが割とサクッと作ったサービスなので、何か不具合があるかもしれません🙏
その時はお気軽に @y_temp4 までご連絡していただけますと幸いです!
それでは、みなさんぜび使ってみてください🤟