Check out what’s new from Firebase at Google I/O 2022. Learn more

เพิ่ม Firebase Admin SDK ไปยังเซิร์ฟเวอร์ของคุณ

Admin SDK คือชุดของไลบรารีเซิร์ฟเวอร์ที่ให้คุณโต้ตอบกับ Firebase จากสภาพแวดล้อมที่มีสิทธิพิเศษเพื่อดำเนินการต่างๆ เช่น:

  • อ่านและเขียนข้อมูล Realtime Database พร้อมสิทธิ์ผู้ดูแลระบบเต็มรูปแบบ
  • ส่งข้อความ Firebase Cloud Messaging โดยทางโปรแกรมโดยใช้วิธีทางเลือกที่เรียบง่ายสำหรับโปรโตคอลเซิร์ฟเวอร์ Firebase Cloud Messaging
  • สร้างและยืนยันโทเค็นการตรวจสอบสิทธิ์ของ Firebase
  • เข้าถึงทรัพยากรของ Google Cloud เช่น ที่เก็บข้อมูล Cloud Storage และฐานข้อมูล Cloud Firestore ที่เชื่อมโยงกับโปรเจ็กต์ Firebase ของคุณ
  • สร้างคอนโซลผู้ดูแลระบบแบบง่ายของคุณเองเพื่อทำสิ่งต่างๆ เช่น ค้นหาข้อมูลผู้ใช้หรือเปลี่ยนที่อยู่อีเมลของผู้ใช้สำหรับการตรวจสอบสิทธิ์

หากคุณสนใจที่จะใช้ Node.js SDK เป็นไคลเอนต์สำหรับการเข้าถึงของผู้ใช้ปลายทาง (เช่น ในเดสก์ท็อป Node.js หรือแอปพลิเคชัน IoT) ซึ่งต่างจากการเข้าถึงของผู้ดูแลระบบจากสภาพแวดล้อมที่มีสิทธิพิเศษ (เช่น เซิร์ฟเวอร์) คุณ ควรทำตาม คำแนะนำสำหรับการตั้งค่าไคลเอนต์ JavaScript SDK แทน

ต่อไปนี้คือเมทริกซ์คุณลักษณะที่แสดงคุณลักษณะของ Firebase ที่ได้รับการสนับสนุนในแต่ละภาษา:

คุณสมบัติ Node.js Java Python ไป ค#
Custom Token Minting
การยืนยัน ID Token
การจัดการผู้ใช้
ควบคุมการเข้าถึงด้วยการอ้างสิทธิ์ที่กำหนดเอง
รีเฟรชการเพิกถอนโทเค็น
นำเข้าผู้ใช้
การจัดการคุกกี้ของเซสชัน
การสร้างลิงก์การดำเนินการอีเมล
การจัดการการกำหนดค่าผู้ให้บริการ SAML/OIDC
รองรับผู้เช่าหลายราย
ฐานข้อมูลเรียลไทม์ *
การส่งข้อความบนคลาวด์ของ Firebase
FCM Multicast
จัดการการสมัครหัวข้อ FCM
การจัดเก็บเมฆ
Cloud Firestore
การบริหารโครงการ
กฎความปลอดภัย
ML Model Management
การกำหนดค่าระยะไกลของ Firebase
ตรวจสอบแอป Firebase

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการผสานรวม Admin SDK สำหรับการใช้งานเหล่านี้ โปรดดูเอกสาร Realtime Database , FCM , Authentication , Remote Config และ Cloud Storage ที่เกี่ยวข้อง ส่วนที่เหลือของหน้านี้เน้นที่การตั้งค่าพื้นฐานสำหรับ Admin SDK

ข้อกำหนดเบื้องต้น

  • ตรวจสอบให้แน่ใจว่าคุณมีแอปเซิร์ฟเวอร์

  • ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ของคุณเรียกใช้สิ่งต่อไปนี้ ขึ้นอยู่กับ Admin SDK ที่คุณใช้:

    • ผู้ดูแลระบบ Node.js SDK — Node.js 12+
    • ผู้ดูแลระบบ Java SDK — Java 7+ (แนะนำ Java 8+)
      เลิกสนับสนุน Java 7 แล้ว
    • ผู้ดูแลระบบ Python SDK — Python 3.6+
    • ผู้ดูแลระบบ Go SDK — ไป 1.15+
    • ผู้ดูแลระบบ .NET SDK — .NET Framework 4.6.1+ หรือ .NET Standard 2.0 สำหรับ .Net Core 2.0+

ตั้งค่าโปรเจ็กต์ Firebase และบัญชีบริการ

หากต้องการใช้ Firebase Admin SDK คุณจะต้องมีสิ่งต่อไปนี้:

  • โครงการ Firebase
  • บัญชีบริการ Firebase Admin SDK เพื่อสื่อสารกับ Firebase บัญชีบริการนี้สร้างขึ้นโดยอัตโนมัติเมื่อคุณสร้างโปรเจ็กต์ Firebase หรือเพิ่ม Firebase ลงในโปรเจ็กต์ Google Cloud
  • ไฟล์การกำหนดค่าที่มีข้อมูลประจำตัวของบัญชีบริการของคุณ

หากคุณยังไม่มีโปรเจ็กต์ Firebase คุณต้องสร้างโปรเจ็กต์ใน คอนโซล Firebase ไปที่ ทำความเข้าใจโปรเจ็กต์ Firebase เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับโปรเจ็กต์ Firebase

เพิ่ม SDK

หากคุณกำลังตั้งค่าโครงการใหม่ คุณต้องติดตั้ง SDK สำหรับภาษาที่คุณเลือก

Node.js

Firebase Admin Node.js SDK พร้อมใช้งานใน npm หากคุณยังไม่มีไฟล์ package.json ให้สร้างไฟล์ผ่าน npm init ถัดไป ติดตั้งแพ็คเกจ firebase firebase-admin npm และบันทึกลงใน package.json ของคุณ:

$ npm install firebase-admin --save

ในการใช้โมดูลในแอปพลิเคชันของคุณ require จากไฟล์ JavaScript ใดๆ:

const { initializeApp } = require('firebase-admin/app');

หากคุณใช้ ES2015 คุณสามารถ import โมดูลได้:

import { initializeApp } from 'firebase-admin/app';

Java

Firebase Admin Java SDK ได้รับการเผยแพร่ไปยังที่เก็บส่วนกลางของ Maven ในการติดตั้งไลบรารี่ ให้ประกาศว่าเป็นการพึ่งพาในไฟล์ build.gradle ของคุณ:

dependencies {
  implementation 'com.google.firebase:firebase-admin:8.1.0'
}

หากคุณใช้ Maven เพื่อสร้างแอปพลิเคชัน คุณสามารถเพิ่มการพึ่งพาต่อไปนี้ใน pom.xml ของคุณ:

<dependency>
  <groupId>com.google.firebase</groupId>
  <artifactId>firebase-admin</artifactId>
  <version>8.1.0</version>
</dependency>

Python

Firebase Admin Python SDK พร้อมใช้งานผ่าน pip คุณสามารถติดตั้งไลบรารีสำหรับผู้ใช้ทั้งหมดผ่าน sudo :

$ sudo pip install firebase-admin

หรือคุณสามารถติดตั้งไลบรารีสำหรับผู้ใช้ปัจจุบันโดยส่ง --user แฟล็ก:

$ pip install --user firebase-admin

ไป

สามารถติดตั้ง Go Admin SDK ได้โดยใช้ยูทิลิตี้ go get :

# Install as a module dependency
$ go get firebase.google.com/go/v4

# Install to $GOPATH
$ go get firebase.google.com/go

ค#

สามารถติดตั้ง .NET Admin SDK ได้โดยใช้ตัวจัดการแพ็คเกจ .NET:

$ Install-Package FirebaseAdmin -Version 2.3.0

หรือติดตั้งโดยใช้ยูทิลิตี้บรรทัดคำสั่ง dotnet :

$ dotnet add package FirebaseAdmin --version 2.3.0

หรือคุณสามารถติดตั้งได้โดยเพิ่มรายการอ้างอิงแพ็คเกจต่อไปนี้ในไฟล์ .csproj ของคุณ:

<ItemGroup>
  <PackageReference Include="FirebaseAdmin" Version="2.3.0" />
</ItemGroup>

เริ่มต้น SDK

เมื่อคุณสร้างโปรเจ็กต์ Firebase แล้ว คุณสามารถเริ่มต้น SDK ด้วยกลยุทธ์การให้สิทธิ์ที่รวมไฟล์บัญชีบริการของคุณเข้ากับ ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน Google

โปรเจ็กต์ Firebase รองรับ บัญชีบริการ ของ Google ซึ่งคุณสามารถใช้เรียก API เซิร์ฟเวอร์ Firebase จากเซิร์ฟเวอร์แอปหรือสภาพแวดล้อมที่เชื่อถือได้ หากคุณกำลังพัฒนาโค้ดในเครื่องหรือปรับใช้แอปพลิเคชันภายในองค์กร คุณสามารถใช้ข้อมูลรับรองที่ได้รับผ่านบัญชีบริการนี้เพื่ออนุมัติคำขอของเซิร์ฟเวอร์

หากต้องการตรวจสอบสิทธิ์บัญชีบริการและอนุญาตให้เข้าถึงบริการ Firebase คุณต้องสร้างไฟล์คีย์ส่วนตัวในรูปแบบ JSON

ในการสร้างไฟล์คีย์ส่วนตัวสำหรับบัญชีบริการของคุณ:

  1. ในคอนโซล Firebase เปิด การตั้งค่า > บัญชีบริการ

  2. คลิก สร้างคีย์ส่วนตัวใหม่ จากนั้นยืนยันโดยคลิก สร้างคีย์

  3. จัดเก็บไฟล์ JSON ที่มีคีย์อย่างปลอดภัย

เมื่อให้สิทธิ์ผ่านบัญชีบริการ คุณมีสองทางเลือกในการให้ข้อมูลประจำตัวแก่แอปพลิเคชันของคุณ คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อม GOOGLE_APPLICATION_CREDENTIALS หรือคุณสามารถส่งเส้นทางไปยังรหัสบัญชีบริการอย่างชัดเจน ตัวเลือกแรกมีความปลอดภัยมากกว่าและขอแนะนำอย่างยิ่ง

การตั้งค่าตัวแปรสภาพแวดล้อม:

ตั้งค่าตัวแปรสภาพแวดล้อม GOOGLE_APPLICATION_CREDENTIALS เป็นเส้นทางไฟล์ของไฟล์ JSON ที่มีคีย์บัญชีบริการของคุณ ตัวแปรนี้ใช้กับเชลล์เซสชันปัจจุบันของคุณเท่านั้น ดังนั้นหากคุณเปิดเซสชันใหม่ ให้ตั้งค่าตัวแปรอีกครั้ง

Linux หรือ macOS

export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"

Windows

ด้วย PowerShell:

$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\service-account-file.json"

หลังจากที่คุณทำตามขั้นตอนข้างต้นเสร็จสิ้นแล้ว Application Default Credentials (ADC) จะสามารถระบุข้อมูลประจำตัวของคุณโดยปริยาย ซึ่งช่วยให้คุณใช้ข้อมูลประจำตัวของบัญชีบริการเมื่อทำการทดสอบหรือใช้งานในสภาพแวดล้อมที่ไม่ใช่ของ Google

เริ่มต้น SDK ตามที่แสดง:

Node.js

initializeApp({
    credential: applicationDefault(),
    databaseURL: 'https://<DATABASE_NAME>.firebaseio.com'
});

Java

FirebaseOptions options = FirebaseOptions.builder()
    .setCredentials(GoogleCredentials.getApplicationDefault())
    .setDatabaseUrl("https://<DATABASE_NAME>.firebaseio.com/")
    .build();

FirebaseApp.initializeApp(options);

Python

default_app = firebase_admin.initialize_app()

ไป

app, err := firebase.NewApp(context.Background(), nil)
if err != nil {
	log.Fatalf("error initializing app: %v\n", err)
}

ค#

FirebaseApp.Create(new AppOptions()
{
    Credential = GoogleCredential.GetApplicationDefault(),
});

การใช้โทเค็นการรีเฟรช OAuth 2.0

Admin SDK ยังให้ข้อมูลประจำตัวซึ่งช่วยให้คุณตรวจสอบสิทธิ์ด้วยโทเค็นการรีเฟรช Google OAuth2 :

Node.js

const myRefreshToken = '...'; // Get refresh token from OAuth2 flow

initializeApp({
  credential: refreshToken(myRefreshToken),
  databaseURL: 'https://<DATABASE_NAME>.firebaseio.com'
});

Java

FileInputStream refreshToken = new FileInputStream("path/to/refreshToken.json");

FirebaseOptions options = FirebaseOptions.builder()
    .setCredentials(GoogleCredentials.fromStream(refreshToken))
    .setDatabaseUrl("https://<DATABASE_NAME>.firebaseio.com/")
    .build();

FirebaseApp.initializeApp(options);

Python

cred = credentials.RefreshToken('path/to/refreshToken.json')
default_app = firebase_admin.initialize_app(cred)

ไป

opt := option.WithCredentialsFile("path/to/refreshToken.json")
config := &firebase.Config{ProjectID: "my-project-id"}
app, err := firebase.NewApp(context.Background(), config, opt)
if err != nil {
	log.Fatalf("error initializing app: %v\n", err)
}

ค#

FirebaseApp.Create(new AppOptions()
{
    Credential = GoogleCredential.FromFile("path/to/refreshToken.json"),
});

เริ่มต้นโดยไม่มีพารามิเตอร์

SDK สามารถเริ่มต้นได้โดยไม่มีพารามิเตอร์ ในกรณีนี้ SDK จะใช้ ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน Google เนื่องจากการค้นหาข้อมูลรับรองเริ่มต้นเป็นแบบอัตโนมัติทั้งหมดในสภาพแวดล้อมของ Google โดยไม่จำเป็นต้องระบุตัวแปรสภาพแวดล้อมหรือการกำหนดค่าอื่นๆ เราจึงขอแนะนำวิธีการทำให้ SDK เป็นค่าเริ่มต้นนี้สำหรับแอปพลิเคชันที่ทำงานบน Compute Engine, Kubernetes Engine, App Engine และ Cloud Functions

หากต้องการระบุตัวเลือกการเริ่มต้นสำหรับบริการต่างๆ เช่น Realtime Database, Cloud Storage หรือ Cloud Functions ให้ใช้ตัวแปรสภาพแวดล้อม FIREBASE_CONFIG หากเนื้อหาของตัวแปร FIREBASE_CONFIG ขึ้นต้นด้วย { จะถูกแยกวิเคราะห์เป็นวัตถุ JSON มิฉะนั้น SDK จะถือว่าสตริงนั้นเป็นพาธของไฟล์ JSON ที่มีตัวเลือก

Node.js

const app = initializeApp();

Java

FirebaseApp.initializeApp();

Python

default_app = firebase_admin.initialize_app()

ไป

app, err := firebase.NewApp(context.Background(), nil)
if err != nil {
	log.Fatalf("error initializing app: %v\n", err)
}

ค#

FirebaseApp.Create();

เมื่อเริ่มต้นแล้ว คุณสามารถใช้ Admin SDK เพื่อทำงานประเภทต่อไปนี้ให้สำเร็จ:

เริ่มต้นหลายแอพ

ในกรณีส่วนใหญ่ คุณจะต้องเริ่มต้นแอปเริ่มต้นเพียงแอปเดียว คุณสามารถเข้าถึงบริการจากแอพนั้นได้สองวิธีที่เทียบเท่ากัน:

Node.js

// Initialize the default app
const defaultApp = initializeApp(defaultAppConfig);

console.log(defaultApp.name);  // '[DEFAULT]'

// Retrieve services via the defaultApp variable...
let defaultAuth = getAuth(defaultApp);
let defaultDatabase = getDatabase(defaultApp);

// ... or use the equivalent shorthand notation
defaultAuth = getAuth();
defaultDatabase = getDatabase();

Java

// Initialize the default app
FirebaseApp defaultApp = FirebaseApp.initializeApp(defaultOptions);

System.out.println(defaultApp.getName());  // "[DEFAULT]"

// Retrieve services by passing the defaultApp variable...
FirebaseAuth defaultAuth = FirebaseAuth.getInstance(defaultApp);
FirebaseDatabase defaultDatabase = FirebaseDatabase.getInstance(defaultApp);

// ... or use the equivalent shorthand notation
defaultAuth = FirebaseAuth.getInstance();
defaultDatabase = FirebaseDatabase.getInstance();

Python

# Import the Firebase service
from firebase_admin import auth

# Initialize the default app
default_app = firebase_admin.initialize_app(cred)
print(default_app.name)  # "[DEFAULT]"

# Retrieve services via the auth package...
# auth.create_custom_token(...)

ไป

// Initialize default app
app, err := firebase.NewApp(context.Background(), nil)
if err != nil {
	log.Fatalf("error initializing app: %v\n", err)
}

// Access auth service from the default app
client, err := app.Auth(context.Background())
if err != nil {
	log.Fatalf("error getting Auth client: %v\n", err)
}

ค#

// Initialize the default app
var defaultApp = FirebaseApp.Create(new AppOptions()
{
    Credential = GoogleCredential.GetApplicationDefault(),
});
Console.WriteLine(defaultApp.Name); // "[DEFAULT]"

// Retrieve services by passing the defaultApp variable...
var defaultAuth = FirebaseAuth.GetAuth(defaultApp);

// ... or use the equivalent shorthand notation
defaultAuth = FirebaseAuth.DefaultInstance;

กรณีการใช้งานบางอย่างต้องการให้คุณสร้างหลายแอพพร้อมกัน ตัวอย่างเช่น คุณอาจต้องการอ่านข้อมูลจาก Realtime Database ของโปรเจ็กต์ Firebase หนึ่งโปรเจ็กต์และ Mint โทเค็นที่กำหนดเองสำหรับโปรเจ็กต์อื่น หรือคุณอาจต้องการตรวจสอบสิทธิ์สองแอปด้วยข้อมูลประจำตัวที่แยกจากกัน Firebase SDK ช่วยให้คุณสร้างแอปได้หลายแอปพร้อมกัน โดยแต่ละแอปจะมีข้อมูลการกำหนดค่าของตนเอง

Node.js

// Initialize the default app
initializeApp(defaultAppConfig);

// Initialize another app with a different config
var otherApp = initializeApp(otherAppConfig, 'other');

console.log(getApp().name);  // '[DEFAULT]'
console.log(otherApp.name);     // 'other'

// Use the shorthand notation to retrieve the default app's services
const defaultAuth = getAuth();
const defaultDatabase = getDatabase();

// Use the otherApp variable to retrieve the other app's services
const otherAuth = getAuth(otherApp);
const otherDatabase = getDatabase(otherApp);

Java

// Initialize the default app
FirebaseApp defaultApp = FirebaseApp.initializeApp(defaultOptions);

// Initialize another app with a different config
FirebaseApp otherApp = FirebaseApp.initializeApp(otherAppConfig, "other");

System.out.println(defaultApp.getName());  // "[DEFAULT]"
System.out.println(otherApp.getName());    // "other"

// Use the shorthand notation to retrieve the default app's services
FirebaseAuth defaultAuth = FirebaseAuth.getInstance();
FirebaseDatabase defaultDatabase = FirebaseDatabase.getInstance();

// Use the otherApp variable to retrieve the other app's services
FirebaseAuth otherAuth = FirebaseAuth.getInstance(otherApp);
FirebaseDatabase otherDatabase = FirebaseDatabase.getInstance(otherApp);

Python

# Initialize the default app
default_app = firebase_admin.initialize_app(cred)

#  Initialize another app with a different config
other_app = firebase_admin.initialize_app(cred, name='other')

print(default_app.name)    # "[DEFAULT]"
print(other_app.name)      # "other"

# Retrieve default services via the auth package...
# auth.create_custom_token(...)

# Use the `app` argument to retrieve the other app's services
# auth.create_custom_token(..., app=other_app)

ไป

// Initialize the default app
defaultApp, err := firebase.NewApp(context.Background(), nil)
if err != nil {
	log.Fatalf("error initializing app: %v\n", err)
}

// Initialize another app with a different config
opt := option.WithCredentialsFile("service-account-other.json")
otherApp, err := firebase.NewApp(context.Background(), nil, opt)
if err != nil {
	log.Fatalf("error initializing app: %v\n", err)
}

// Access Auth service from default app
defaultClient, err := defaultApp.Auth(context.Background())
if err != nil {
	log.Fatalf("error getting Auth client: %v\n", err)
}

// Access auth service from other app
otherClient, err := otherApp.Auth(context.Background())
if err != nil {
	log.Fatalf("error getting Auth client: %v\n", err)
}

ค#

// Initialize the default app
var defaultApp = FirebaseApp.Create(defaultOptions);

// Initialize another app with a different config
var otherApp = FirebaseApp.Create(otherAppConfig, "other");

Console.WriteLine(defaultApp.Name); // "[DEFAULT]"
Console.WriteLine(otherApp.Name); // "other"

// Use the shorthand notation to retrieve the default app's services
var defaultAuth = FirebaseAuth.DefaultInstance;

// Use the otherApp variable to retrieve the other app's services
var otherAuth = FirebaseAuth.GetAuth(otherApp);

กำหนดขอบเขตสำหรับฐานข้อมูลเรียลไทม์และการตรวจสอบสิทธิ์

หากคุณกำลังใช้ VM ของ Google Compute Engine ที่มีข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน Google สำหรับฐานข้อมูลเรียลไทม์หรือการตรวจสอบสิทธิ์ ตรวจสอบให้แน่ใจว่าได้ตั้งค่า ขอบเขตการเข้าถึง ที่ถูกต้องด้วย สำหรับ Realtime Database and Authentication คุณต้องมีขอบเขตที่ลงท้ายด้วย userinfo.email และ cloud-platform หรือ firebase.database หากต้องการตรวจสอบขอบเขตการเข้าถึงที่มีอยู่และเปลี่ยนแปลง ให้เรียกใช้คำสั่งต่อไปนี้โดยใช้ gcloud

gcloud

# Check the existing access scopes
gcloud compute instances describe [INSTANCE_NAME] --format json

# The above command returns the service account information. For example:
  "serviceAccounts": [
   {
    "email": "your.gserviceaccount.com",
    "scopes": [
     "https://www.googleapis.com/auth/cloud-platform",
     "https://www.googleapis.com/auth/userinfo.email"
     ]
    }
  ],

# Stop the VM, then run the following command, using the service account
# that gcloud returned when you checked the scopes.

gcloud compute instances set-service-account [INSTANCE_NAME] --service-account "your.gserviceaccount.com" --scopes "https://www.googleapis.com/auth/firebase.database,https://www.googleapis.com/auth/userinfo.email"

การทดสอบด้วยข้อมูลรับรองผู้ใช้ปลายทาง gcloud

เมื่อทดสอบ Admin SDK ในเครื่องด้วย ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน Google ที่ได้รับจากการเรียกใช้ gcloud auth application-default login จำเป็นต้องทำการเปลี่ยนแปลงเพิ่มเติมเพื่อใช้ Firebase Authentication เนื่องจากสิ่งต่อไปนี้:

  • การตรวจสอบสิทธิ์ Firebase ไม่ยอมรับข้อมูลรับรองผู้ใช้ปลายทาง gcloud ที่สร้างขึ้นโดยใช้รหัสไคลเอ็นต์ gcloud OAuth
  • การตรวจสอบสิทธิ์ Firebase กำหนดให้ต้องระบุรหัสโปรเจ็กต์ในการเริ่มต้นสำหรับข้อมูลรับรองผู้ใช้ปลายทางประเภทนี้

วิธีแก้ปัญหา คุณสามารถสร้าง Google Application Default Credentials ใน gcloud โดยใช้ รหัสไคลเอ็นต์ OAuth 2.0 ของคุณเอง รหัสไคลเอ็นต์ OAuth ต้องเป็นประเภท แอปพลิเคชันเดสก์ท็อป

gcloud

gcloud auth application-default login --client-id-file=[/path/to/client/id/file]

คุณสามารถระบุรหัสโปรเจ็กต์ได้อย่างชัดเจนในการเริ่มต้นแอป หรือเพียงแค่ใช้ตัวแปรสภาพแวดล้อม GOOGLE_CLOUD_PROJECT แบบหลังจะหลีกเลี่ยงความจำเป็นในการเปลี่ยนแปลงเพิ่มเติมเพื่อทดสอบโค้ดของคุณ

หากต้องการระบุรหัสโปรเจ็กต์ให้ชัดเจน:

Node.js

import { initializeApp, applicationDefault } from 'firebase-admin/app';

initializeApp({
  credential: applicationDefault(),
  projectId: '<FIREBASE_PROJECT_ID>',
});

Java

FirebaseOptions options = FirebaseOptions.builder()
    .setCredentials(GoogleCredentials.getApplicationDefault())
    .setProjectId("<FIREBASE_PROJECT_ID>")
    .build();

FirebaseApp.initializeApp(options);

Python

app_options = {'projectId': '<FIREBASE_PROJECT_ID>'}
default_app = firebase_admin.initialize_app(options=app_options)

ไป

config := &firebase.Config{ProjectID: "<FIREBASE_PROJECT_ID>"}
app, err := firebase.NewApp(context.Background(), config)
if err != nil {
        log.Fatalf("error initializing app: %v\n", err)
}

ค#

FirebaseApp.Create(new AppOptions()
{
    Credential = GoogleCredential.GetApplicationDefault(),
    ProjectId = "<FIREBASE_PROJECT_ID>",
});

ขั้นตอนถัดไป

เรียนรู้เกี่ยวกับ Firebase:

เพิ่มคุณสมบัติ Firebase ให้กับแอปของคุณ:

  • เขียนแบ็กเอนด์แบบไร้เซิร์ฟเวอร์ด้วย Cloud Functions
  • จัดเก็บข้อมูลด้วย Realtime Database หรือข้อมูล Blob ด้วย Cloud Storage
  • รับการแจ้งเตือนด้วย Cloud Messaging