Catch up on highlights from Firebase at Google I/O 2023. 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 ที่รองรับในแต่ละภาษา:

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

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

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

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

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

    • ผู้ดูแลระบบ Node.js SDK — Node.js 14+
    • ผู้ดูแลระบบ Java SDK — Java 8+
    • Admin Python SDK — Python 3.6+ (แนะนำ Python 3.7+)
    • ผู้ดูแลระบบ Go SDK — Go 1.17+
    • ผู้ดูแลระบบ .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 สำหรับภาษาที่คุณเลือก

โหนด js

Firebase Admin Node.js SDK พร้อมใช้งานใน npm หากคุณยังไม่มีไฟล์ package.json ให้สร้างไฟล์ผ่าน npm init ถัดไป ติดตั้งแพ็คเกจ 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';

ชวา

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

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

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

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

หลาม

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

sudo pip install firebase-admin

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

pip install --user firebase-admin

ไป

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

# Install the latest version:
go install firebase.google.com/go/v4@latest

# Or install a specific version:
go install firebase.google.com/go/v4@4.12.0

ค#

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

Install-Package FirebaseAdmin -Version 2.4.0

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

dotnet add package FirebaseAdmin --version 2.4.0

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

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

เริ่มต้น SDK

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

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

โหนด js

const app = initializeApp();

ชวา

FirebaseApp.initializeApp();

หลาม

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 เพื่อทำงานประเภทต่อไปนี้ให้สำเร็จ:

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

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

โหนด js

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

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

ชวา

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);

หลาม

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 ในสภาพแวดล้อมที่ไม่ใช่ของ Google

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

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

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

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

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

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

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

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

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

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

ลินุกซ์หรือ macOS

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

หน้าต่าง

ด้วย PowerShell:

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

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

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

โหนด js

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

ชวา

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

FirebaseApp.initializeApp(options);

หลาม

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(),
    ProjectId = "my-project-id",
});

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

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

โหนด 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();

ชวา

// 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();

หลาม

# 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;

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

โหนด 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);

ชวา

// 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);

หลาม

# 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);

กำหนดขอบเขตสำหรับ Realtime Database และ Authentication

หากคุณกำลังใช้ Google Compute Engine VM ที่มี Google Application Default Credentials สำหรับ Realtime Database หรือ Authentication อย่าลืมตั้ง ค่าขอบเขตการเข้าถึง ที่ถูกต้องด้วย สำหรับฐานข้อมูลเรียลไทม์และการตรวจสอบสิทธิ์ คุณต้องมีขอบเขตที่ลงท้ายด้วย userinfo.email และ cloud-platform หรือ firebase.database หากต้องการตรวจสอบขอบเขตการเข้าถึงที่มีอยู่และเปลี่ยนแปลง ให้รันคำสั่งต่อไปนี้โดยใช้ 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 ใน gcloud โดยใช้ รหัสไคลเอ็นต์ OAuth 2.0 ของคุณเอง รหัสไคลเอ็นต์ OAuth ต้องเป็นประเภทแอปพลิเค ชันเดสก์ท็อป

จีคลาวด์

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

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

หากต้องการระบุรหัสโครงการอย่างชัดเจน:

โหนด js

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

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

ชวา

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

FirebaseApp.initializeApp(options);

หลาม

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 data ด้วย Cloud Storage
  • รับการแจ้งเตือนด้วย Cloud Messaging