WordPressの記事データをFirestoreに同期する
WordPressブログをNuxt+Firebaseに移行するシリーズ。概要は↓ 今回は最初のステップとして、まずはWordPressの記事をFirestoreに同期します。 流れとしては ①Firebaseのプロジェクトを作ったりいろいろする ②Cloud FunctionsにaddPost
関数を作成 ③WordPressの投稿時/更新時にaddPostにリクエストを送る ④現時点で存在する記事を全て同期する 簡単ですね! たぶん思っているよりも簡単です。 以下にやり方を載せます。
Firebase側のセットアップ・コンソールログイン・その他いろいろ
いろいろなところで説明されてると思うので割愛。公式ドキュメント見てください。 Firebase を JavaScript プロジェクトに追加する | Firebase ちなみに、この記事の段階では使うのはfunctionsをデプロイするだけなので、ステップ3のFirebase SDK追加も不要ですし、Firebase側で何かすることはありません。 ただ、Firebaseの使い方としてはそれなりにトリッキーなので、一度Firebaseで真っ当にチャットとかWebアプリ作ってからの方が良い気もします。Cloud Functions
addPost関数の作成
とりあえずfirebase init
してFirestore functionsを含めてセットアップします。 === Functions SetupA functions directory will be created in your project with a Node.jspackage pre-configured. Functions can be deployed with firebase deploy.? What language would you like to use to write Cloud Functions? TypeScript? Do you want to use TSLint to catch probable bugs and enforce style? Yes
TypeScriptを使うかだけ聞かれます。とりあえずTypeScriptを使うことにします。 Cloud Functions に TypeScript を使用する | Firebase スタートガイド: 最初の関数を作成してデプロイする | Firebase この2ページを見ればだいたいの手順はわかると思うのですが、 注意点としては公式チュートリアルはRealtime Databaseのままになっているということです。 今からFirebaseのデータベースを使うならFirestoreを使いましょう。 import * as functions from 'firebase-functions';const admin = require('firebase-admin');admin.initializeApp();const db = admin.firestore();//
...