原本今天想要來發表個有關 API 的研究,卻發現雖然我已經有了範例程式碼,但我還沒針對怎麼初始化 App 介紹,所以今天先提及這部分吧。
首先,先從 Cloud Firestore β - 2 所講的前半部,去建立專案。接著本篇會以網頁環境和伺服器環境去分別講解如何初始化。
在引用 SDK 時,可以透過兩種方式:
直接在網頁中插入 <script>
標籤去引用
<script src="https://www.gstatic.com/firebasejs/5.5.5/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.5.5/firebase-firestore.js"></script>
透過 npm 安裝
npm install firebase@5.5.5 --save
安裝後,再透過下列方式引用:
import firebase from 'firebase/app'
import 'firebase/firestore'
最後,初始化:
firebase.initializeApp({
// 以下資料請到專案設定中取得
apiKey: '### FIREBASE API KEY ###',
authDomain: '### FIREBASE AUTH DOMAIN ###',
projectId: '### CLOUD FIRESTORE PROJECT ID ###'
})
let db = firebase.firestore()
// 停用 deprecated features
db.settings({
timestampsInSnapshots: true
})
我們也可以寫成類似這樣的 JS 檔,讓其他 JS 檔直接復用:
// db.js
import firebase from 'firebase'
import 'firebase/firestore'
firebase.initializeApp({
apiKey: '### FIREBASE API KEY ###',
authDomain: '### FIREBASE AUTH DOMAIN ###',
projectId: '### CLOUD FIRESTORE PROJECT ID ###'
})
firebase.firestore().settings({
timestampsInSnapshots: true
})
export const db = firebase.firestore()
// xxx.js
import { db } from './db'
let citiesRef = db.collection('cities')
這邊以 Node.js 和 Ruby 作為示範。
首先我們要拿到授權文件,所以先到 Google Cloud Platform 的 Create service account key 頁面。
在該頁面的表單中,Service account 的下拉式選單中選擇 New service account。之後再於 Service account name 中填寫用來識別的帳戶名稱,Role 則選擇 Project > Owner。
填完上述資料後,點選 Download,即會拿到儲存一把金鑰與相關資訊的 JSON 文件。
之後再於想要跑腳本的環境中,透過環境變數 GOOGLE_APPLICATION_CREDENTIALS
設定這個文件所在的位置即可。
先透過 npm 安裝套件:
npm install --save @google-cloud/firestore
或是使用 yarn:
yarn add @google-cloud/firestore
然後在文件中引用並初始化:
import Firestore from '@google-cloud/firestore'
const db = new Firestore({
projectId: 'YOUR_PROJECT_ID'
});
安裝相關的 Gem:
# Gemfile
gem 'google-cloud-firestore'
require 'google/cloud/firestore'
firestore = Google::Cloud::Firestore.new(project_id: project_id)