Firebase için API anahtarlarını kullanma ve yönetme hakkında bilgi
API anahtarı, istekleri Firebase'e yönlendirmek için kullanılan benzersiz bir dizedir.
projenize dahil etmeniz gerekir. Bu sayfada aşağıdakiler açıklanmaktadır:
API anahtarları hakkında temel bilgilerin yanı sıra
Firebase uygulamalarıyla API anahtarlarını yönetme.
API anahtarları ve Firebase hakkında genel bilgiler
Firebase için API anahtarları tipik API anahtarlarından farklıdır
API anahtarlarının genellikle kullanılmasının aksine, Firebase hizmetleri için API anahtarları
Arka uç kaynaklarına erişimi kontrol etmek için kullanılmaz; ancak gerçek zamanlı
Firebase Security Rules ile (hangi son kullanıcıların kaynaklara erişebileceğini kontrol etmek için) ve
Firebase App Check (hangi uygulamaların kaynaklara erişebileceğini kontrol etmek için).
Genellikle API anahtarlarını aceleyle korumanız gerekir (örneğin,
Apps Kasası hizmeti kullanmanız veya anahtarları ortam değişkenleri olarak ayarlamanız gerekir. ancak,
Firebase hizmetleri için API anahtarları koda veya giriş yapılan yapılandırmaya eklenebilir
dosyası olarak da kaydedebilir.
Projenizin tüm API anahtarlarını şurada görüntüleyebilir ve yönetebilirsiniz:
API'ler ve Hizmetler > Kimlik bilgileriGoogle Cloud konsolunda görebilirsiniz.
Ayrıca, hangi API anahtarının otomatik olarak bir
Firebase Uygulaması'nı tıklayın. Ölçüt
varsayılan olarak, projenizin tüm Firebase Uygulamaları aynı platform için (Apple veya
Android - Web) aynı API anahtarını kullanır.
Firebase Apple Apps — Firebase'de otomatik eşleşen API anahtarını bulun
GoogleService-Info.plist adlı yapılandırma dosyasını
API_KEY alanı için geçerlidir.
Firebase Android Apps — Otomatik eşleşen API anahtarını
google-services.json Firebase yapılandırma dosyasına
current_key alanı için geçerlidir.
Firebase Web Uygulamaları — Firebase'de otomatik eşleşen API anahtarını bulun
apiKey alanına config nesnesini ekleyin.
Bir API anahtarını kullanma
API anahtarları, etkileşimde bulunurken Firebase projenizi tanımlamak için kullanılır
Firebase/Google hizmetleri. Bunlar özellikle API isteklerini ilişkilendirmek için kullanılır
projenizle bağdaştırın. Bu ekranlar, belirli bir kitleye erişmek için
herkese açık veriler.
Örneğin bir API anahtarını, değerini REST'e geçirerek doğrudan kullanabilirsiniz.
Sorgu parametresi olarak API çağrısı. Bu örnekte, nasıl talep edebileceğiniz gösterilmektedir
değerini
Dynamic Links Link shorter API:
POST https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=API_KEY
Uygulamanız, API anahtarı sağlanması gereken bir Firebase API'ye çağrı yaptığında
kullanırsanız uygulamanız otomatik olarak
Projenizin API anahtarı için Firebase yapılandırma dosyası/nesnesi. Ancak,
Uygulamanız için ortam da dahil olmak üzere farklı bir mekanizma kullanarak API anahtarları sağlayın
değişkenlerine karşılık gelir.
API anahtarlarını inceleyin ve anahtarlara uygun kısıtlamaları uygulayın (önerilir)
Firebase hizmetleri için API anahtarının
gizli olması durumunda, kısıtlamaları ve sınırları bu makalede açıklandığı şekilde inceleyip uygulamanız
bölümüne bakın.
ziyaret edin.
Firebase API anahtarlarınız için izin verilenler listesine otomatik olarak eklenen API'leri inceleyin
Firebase, projenizde bir API anahtarı oluşturduğunda,
"API kısıtlamaları"
anahtara ekleyin. Bu izin verilenler listesine eklenen API'ler, Firebase'le ilgili olan ve
istemcinin çağrıyla birlikte bir API anahtarı sağlamasını gerektirir. Çoğunun
Firebase hizmetlerinin kullanımı için gereken API'lerin aslında
izin verilenler listesine ekleyin.
Firebase, tüm Firebase hizmetleri için gerekli API'leri eklediğinden,
izin verilenler listesi, kullanmadığınız ürünlerin API'lerini içerebilir.
İzin verilenler listesinden API'leri kaldırabilirsiniz ancak bunun yapmamaya çok dikkat etmeniz gerekir:
Firebase ve kullandığınız Firebase hizmetleri için gereken API'leri kaldırın
(bkz.
Firebase ile ilgili API'lerin listesi
her hizmet / ürünün izin verilenler listesinde olması gerekir. Aksi halde
Firebase hizmetleri çağrılırken hata alır.
Şifre tabanlı Authentication kullanıyorsanız kotayı daha da daraltın
Şifre tabanlı Firebase Authentication kullanıyorsanız ve birisi API'nizi ele geçirirse
anahtarı yoksa Firebase projenizin hiçbir veritabanına erişemez
veya Cloud Storage verilerini (bu veriler aşağıdaki koşullarla korunduğu sürece)
Firebase Security Rules. Ancak şuna erişmek için API anahtarınızı kullanabilirler:
Firebase kimlik doğrulama uç noktaları ve kimlik doğrulama isteklerinde bulunma
akılda kalıcı bir yolunu sunar.
Kullanıcıların API anahtarının hatalı şekilde kullanılması ihtimalini azaltmak amacıyla,
bir kaba kuvvet saldırısına maruz kalırsanız, şuranın varsayılan kotasını
Normal trafiği yansıtacak identitytoolkit.googleapis.com uç nokta
beklentilerini karşılayabileceksiniz. Bu kotayı ve uygulamanızı daraltırsanız
aniden kullanıcı kazandığında, kotayı yükseltene kadar oturum açma hataları alabilirsiniz.
Projenizin API kotalarını şuradan değiştirebilirsiniz:
Google Cloud konsolu.
Firebase dışı tüm hizmetler için ayrı, kısıtlanmış API anahtarları kullanın
Firebase hizmetleri için kullanılan API anahtarlarının genellikle ele alınması gerekmese de
olarak gizli hale getirmek için, kullandığınız API anahtarlarıyla ilgili bazı ek önlemler
diğer Google Cloud API'leriyle yapabilirsiniz.
Firebase'e yönelik olmayan bir Google Cloud API (herhangi bir platformda) kullanıyorsanız
hizmet / ürün için ayrı, kısıtlanmış API anahtarları oluşturmanızı önemle öneririz
bu API'lerle kullanılabilir. Bu, özellikle API'nin yalnızca
faturalandırılabilir Google Cloud hizmeti.
Örneğin, iOS'te Firebase ML ve Cloud Vision API'lerini kullanıyorsanız
yalnızca kullandığınız ayrı API anahtarları oluşturmanız gerekir
Cloud Vision API'lerine erişim için Google Analytics'i destekler.
Firebase dışı API'ler için ayrı ve kısıtlanmış API anahtarları kullanarak,
gerektiğinde anahtarları değiştirmeli ve API'ye ek kısıtlamalar eklemelidir
anahtarlar
ve Firebase'i kullanmaya devam edebilirsiniz.
API'ye özel anahtarlar oluşturma talimatlarını görüntüleyin
Bu talimatlarda, bir
Super Service API adlı sahte API.
1. adım: Mevcut API anahtarlarınızı yapılandırarak Super Service API uygulamasına izin vermeyin
Credentials (Kimlik Bilgisi) sayfasını açın.
Google Cloud konsolunun ana sayfasında yer alır. İstendiğinde projenizi seçin.
Listedeki her mevcut API için düzenleme görünümünü açın.
API kısıtlamaları bölümünde Anahtarı kısıtla'yı seçin ve ardından
API anahtarının erişebilmesini istediğiniz tüm API'leri listeleyin. Şunlardan emin olun:
Ayrı bir API anahtarı oluşturduğunuz API'yi içermemesi
(bu örnekte, Super Service API).
Bir API anahtarının API kısıtlamalarını yapılandırdığınızda,
anahtarın erişiminin olduğu API'leri tanımlama. Varsayılan olarak
API kısıtlamaları bölümünde Anahtarı kısıtlama seçili. Bir API anahtarı
proje için etkinleştirilmiş tüm API'lere erişmek amacıyla kullanılabilir.
Mevcut API anahtarlarınız artık Super Service API uygulamasına erişim izni vermeyecek ancak
her bir anahtar, kendi API'nize eklediğiniz API'ler için çalışmaya devam eder
API kısıtlamaları listesi.
2. Adım: Super Service API erişimi için yeni bir API anahtarı oluşturun ve kullanın
Kimlik bilgileri'ne dönün
sayfasını ziyaret edin. Firebase projenizin hâlâ seçili olduğundan emin olun.
Kimlik bilgileri oluştur > API anahtarı. Yeni API anahtarını not edin, ardından
Anahtarı kısıtla'yı tıklayın.
API kısıtlamaları bölümünde Anahtarı kısıtla'yı seçin ve ardından
yalnızcaSuper Service API listele.
Bu yeni API anahtarı yalnızca Super Service API öğesine erişim izni verir.
Uygulamanızı ve hizmetlerinizi yeni API anahtarını kullanacak şekilde yapılandırın.
Ortama özel API anahtarları kullan (önerilir)
Farklı ortamlar için farklı Firebase projeleri oluşturursanız (ör.
her bir uygulama örneğinin kendi kendini geliştirme ve üretim ortamındaki
ilgili Firebase projesi için geçerlidir. Örneğin, hazırlık uygulaması örneğiniz:
hiçbir zaman üretim Firebase projenizle konuşmayın. Bu aynı zamanda sizin
hazırlık uygulamasının, hazırlık Firebase projenizle ilişkili API anahtarlarını kullanması gerekir.
Geliştirme aşamasından hazırlık aşamasına
koda API anahtarları eklemek yerine, bunları en üst düzeye çıkarmak için
ortam değişkenlerini veya bunları bir yapılandırma dosyasına dahil etmenizi öneririz.
Geliştirme için Firebase Local Emulator Suite kullanıyorsanız
Firebase ML ile yalnızca hata ayıklama amaçlı bir API anahtarı oluşturup kullanmanız gerekir. Talimatlar
oluşturmak için bu anahtarların kullanılabilir.
Firebase ML doküman.
SSS ve sorun giderme
SSS
API anahtarlarıdır
Firebase hizmetleri varsayılan olarak kısıtlanır mı?
Evet, varsayılan olarak Firebase'in otomatik olarak sağladığı tüm API anahtarları, şunlarla birlikte kullanılır:
Firebase'le ilgili API'ler
"API Kısıtlamaları"
otomatik olarak uygulanır. Bkz.
Firebase ile ilgili API'lerin listesi
bu izin verilenler listesinde bulunanlar.
Bu izin verilenler listesine eklenen API'ler, Firebase hizmetleri tarafından
Firebase projenizin tanımlanması için API anahtarları gerektirmesi veya
uygulamasını indirin. Firebase hizmetlerinin kullanımı için gereken çoğu API'nin aslında
API anahtarlarınızın izin verilenler listesinde olması gerekir.
Firebase, tüm Firebase hizmetleri için gerekli API'leri eklediğinden,
izin verilenler listesi, kullanmadığınız ürünlerin API'lerini içerebilir. Siz
izin verilenler listesinden API'leri kaldırabilirsiniz, ancak API'leri kaldırmamaya
Firebase ve kullandığınız Firebase hizmetleri için gereken API'ler (bkz.
Firebase ile ilgili API'lerin listesi
her hizmet / ürünün izin verilenler listesinde olması gerekir. Aksi halde
Firebase hizmetleri çağrılırken hata alır.
Tüm API anahtarlarınızı ve bunların "API kısıtlamaları"nı görüntüleyebilirsiniz
API'lar ve Hizmetler > Kimlik bilgileriGoogle Cloud konsolunda görebilirsiniz.
Firebase'in bu "API kısıtlamalarını" nasıl uyguladığı hakkında aşağıda verilen bilgileri not edin:
Mayıs 2024'ten itibaren, Firebase tarafından otomatik olarak sağlanan tüm yeni API anahtarları şunlardır:
otomatik olarak
Firebase ile ilgili API'lerin listesini inceleyin.
Mayıs 2024'te, Firebase'in sahip olduğu tüm mevcut ve kısıtlanmamış API anahtarları
önceden otomatik temel hazırlığı yapılmış olanlar
Firebase ile ilgili API'lerin listesiartı projenin şu anda etkin API'lerinden herhangi biri.
Firebase'in daha önce sahip olduğu mevcut ve zaten kısıtlanmış API anahtarları
otomatik temel hazırlığı değiştirilmedi.
Firebase tarafından otomatik olarak sağlanmamış mevcut API anahtarları sağlanmamıştır
değiştirildi.
ziyaret edin.
Hangi API anahtarını nasıl belirleyebilirim?
Firebase uygulamamla ilişkilendirilir mi?
Hangi API anahtarının
Firebase uygulamanızla ilişkili:
Firebase konsolu
settings adlı yayıncıya git
Proje ayarları,
ve ardından Uygulamalarınız kartına ilerleyin.
İlgilendiğiniz uygulamayı seçin.
İstediğiniz uygulamanın Firebase yapılandırma dosyasını/nesnesini edinin, ardından
API anahtarını bulun:
Apple: GoogleService-Info.plist uygulamasını indirin ve ardından
API_KEY alanı
Android: google-services.json uygulamasını indirin,
istediğiniz uygulamayı (paket adını arayın) ve ardından
current_key alanı
Web: Config seçeneğini belirleyin ve ardından apiKey alanını bulun
Firebase KSA
İlgili uygulamanın Firebase yapılandırma dosyasını/nesnesini almak için
şu komutu kullanın:
firebase apps:sdkconfig PLATFORMFIREBASE_APP_ID
PLATFORM (şunlardan biri): IOS | ANDROID | WEB
FIREBASE_APP_ID: Şu etkinlik için Firebase tarafından atanan benzersiz tanımlayıcı:
Firebase Uygulamanız (Uygulama kimliğinizi bulun)
Uygulamanın yazdırılan Firebase yapılandırmasında API anahtarını bulun:
Bu keyString, Uygulamanın
yapılandırma yapısı
(Elma |
Android |
Web).
Yapabilir miyim?
Firebase yapılandırmamda aynı Firebase uygulaması için listelenen iki API anahtarı var
dosya/nesne?
Firebase Apple Apps: Her uygulamanın kendi yapılandırma dosyası vardır ve yalnızca
listelenen bir API anahtarı var.
Firebase Android Uygulamaları: Firebase projesindeki tüm Android uygulamaları
aynı yapılandırma dosyasında listelenmeli ve her uygulamanın yalnızca bir API anahtarı olabilir
listelendi. Bu yapılandırma dosyasındaki her uygulama, listelenen farklı bir anahtara sahip olabilir.
olabiliyor.
Firebase Web Uygulamaları: Her uygulamanın kendi yapılandırma nesnesi vardır ve yalnızca
listelenen bir API anahtarı var.
Bununla birlikte, bir uygulamayla birden çok API anahtarı kullanabilirsiniz. Lütfen
uygulamanızın bu diğer API anahtarlarına erişebilmesini sağlayan bir mekanizma (örneğin, bir ortam aracılığıyla)
değişkenine eklenmelidir. Diğer API anahtarlarına erişim mekanizması bu anahtarlara bağlı olamaz
Firebase yapılandırma dosyanızda/nesnenizde listelenen API anahtarları.
Firebase'in
Bir uygulamayla hangi API anahtarının eşleştirileceğini bilmek (Firebase yapılandırmasında olduğu gibi)
dosyası/nesne) olabilir mi?
Firebase eşleşen herhangi bir kısıtlanmış anahtar bulamazsa
Apple uygulamaları için iOS key, Android key için yapılandırma dosyası/nesne
Android uygulamaları ve web uygulamaları için Browser key (bu anahtarların mevcut olduğu varsayılır)
ve "Uygulama Kısıtlamaları" bulunmamalıdır. eşleşmelerini önleyen
uygulamasında).
Manuel olarak
API anahtarı ve alanı, Firebase yapılandırma dosyamdan/nesnemden silinsin mi?
Evet, API anahtarınızı yapılandırma dosyanızdan/nesnenizden manuel olarak silebilirsiniz. Ancak,
Uygulamanızın bir API anahtarına erişmesi için başka bir mekanizma sağlamanız gerekir
(bir ortam değişkeni aracılığıyla) Aksi halde, Firebase hizmetlerine yapılan tüm çağrılar
başarısız olur.
Manuel olarak
Firebase yapılandırma dosyamı/nesnemi farklı API anahtarlarıyla düzenleyebilir miyim?
Evet, farklı bir API anahtarı ilişkilendirmek için bir yapılandırma dosyasını/nesneyi manuel olarak düzenleyebilirsiniz
bir uygulamadır.
CANNOT TRANSLATE
Bir Firebase projesinden diğerine API anahtarı kullanmalı mıyım?
Hayır, API anahtarı yalnızca belirli bir projeyi tanımlar ve başka bir projeye taşınamaz
belirler.
Şu durumda ne olur?
Google Cloud konsolunda listelenen bir API anahtarı silinsin mi?
Bir uygulama tarafından kullanılan bir API anahtarını silerseniz söz konusu uygulamadan API çağırır
başarısız olur. Kullanmaya çalıştığınız raporlar, e-postalar veya hatalar alabilirsiniz
geçersiz bir API anahtarı.
API anahtarı silme kalıcı bir işlemdir ve geri alınamaz.
Hangi
"API kısıtlamaları" bölümünde API'lerin kullanılması zorunludur izin verilenler listesine ekleyebilirsiniz.
Firebase API anahtarı için anahtarın üzerinde olması gereken tek API
"API kısıtlamaları" izin verilenler listesi, istemcinin izin verilenler listesine eklemesi gereken
Çağrıyla birlikte API anahtarı. Firebase'le ilgili çok az sayıda API'de bu özelliğe sahip olduğunu unutmayın.
gerekir. Projenizde etkinleştirilen Firebase ile ilgili çoğu API'nin
kontrol edin. izin verilenler listesine eklenir.
Firebase ile ilgili hangi API'lerin kullanılması gerektiğini belirlemek için aşağıdaki tabloyu kullanın:
"API kısıtlamalarına" dahil edilen izin verilenler listesine ekleyebilirsiniz. Unutmayın,
Firebase API anahtarları yalnızca Firebase hizmetleri için kullanılmalıdır. Daha fazla bilgi:
oluşturuluyor
Belirli API türleri için ayrı, kısıtlanmış API anahtarları.
Cloud Firestore, Cloud Storage ve Realtime Database
datastore.googleapis.com
Cloud Datastore API
Cloud Firestore
firestore.googleapis.com
Google Cloud Firestore API'si
Cloud Firestore
fcmregistrations.googleapis.com
FCM Kayıt API'sı
Cloud Messaging
firebasestorage.googleapis.com
Firebase için Cloud Storage API'sı
Cloud Storage
firebasedynamiclinks.googleapis.com
Firebase Dynamic Links API'sı
Dynamic Links
firebasehosting.googleapis.com *
Firebase Barındırma API'si
Hosting
firebaseinappmessaging.googleapis.com
Firebase In-App Messaging API'si
In-App Messaging
firebaseml.googleapis.com
Firebase ML API'si
Firebase ML, Vertex AI in Firebase
mlkit.googleapis.com **
ML Kit API'sı
Firebase ML
mobilecrashreporting.googleapis.com
Mobile Crash Reporting API
Performance Monitoring
play.googleapis.com
Google Play Android Geliştirici API'sı
Performance Monitoring
firebaseremoteconfig.googleapis.com
Firebase Remote Config API'sı
Performance Monitoring, Remote Config
firebaseremoteconfigrealtime.googleapis.com
Firebase Remote Config Gerçek Zamanlı API'si
Performance Monitoring, Remote Config
cloudconfig.googleapis.com **
Yok
Remote Config
firebasedatabase.googleapis.com *
Firebase Realtime Database API'si
Realtime Database
* Yalnızca üçüncü tarafla Firebase API anahtarı kullanıyorsanız gereklidir
araçları veya Firebase hizmetine / ürüne doğrudan REST erişimi.
** Ürün SDK'sının önceki sürümleri için gereklidir. Şunu kullanıyorsanız:
SDK'nın en son sürümünü yüklediğinizde, API'nin anahtarın
izin verilenler listesine ekleyin.'nı inceleyin.
Sorun giderme
Nasıl yaparım?
şöyle bir API_KEY_SERVICE_BLOCKED veya Yasak 403 hatasını düzelt:
bu API'ye yapılan istekler engelleniyor mu?
API_KEY_SERVICE_BLOCKED alıyorsanız bu SSS'deki yönergeleri uygulayın
hatası veya aşağıdaki gibi görünen bir hata içeriyor:
Forbidden: 403 POST https://example-service.googleapis.com/method: Requests to this API example-service.googleapis.com method google.example-service.rest.method are blocked.
Uygulamanızın API'yi çağırmak için kullandığı API anahtarında muhtemelen
"API Kısıtlamaları"
ve anahtarın izin verilenler listesi bu API'yi içermiyor.
Firebase dışı bir hizmeti kullanmaya çalışırken bu hatayı alıyorsanız
bu hizmet için özel olarak yeni bir API anahtarı oluşturmanızı ve
API'ye gidin. Firebase API anahtarları yalnızca Firebase hizmetleri / ürünleri için kullanılmalıdır.
Oluşturma hakkında daha fazla bilgi
Belirli API türleri için ayrı, kısıtlanmış API anahtarları.
Nasıl yaparım?
bu hata düzeltilsin mi? "Bu Firebase uygulamasının ölçüm kimliği şuradan getirilemedi:
girin."
Web uygulamanız tarafından kullanılan API anahtarında muhtemelen
"API Kısıtlamaları"
uyguladı. Bu durumda, Firebase Management API'nin
, izin verilen API'ler listesindedir.
API anahtarım geçersiz. Ne oldu ve bu sorunu nasıl düzeltebilirim?
Geçersiz API anahtarlarının en yaygın nedenlerinden bazıları şunlardır:
API anahtarında
"API Anahtarı Kısıtlamaları"
anahtarı kullanmaya çalışan uygulamayla eşleştirilemez hale getiren
("Uygulama Kısıtlamaları") ya da çağrılan API için kullanılamaz ("API")
Kısıtlamalar").
API anahtarı, Google Cloud konsolundaki projeden silindi.
Bu sorunu düzeltmenin bir yolu da uygulamanızın
Firebase yapılandırma dosyası/nesnesi
Ardından, eski yapılandırma dosyanızı/nesnenizi yeni güncellenmiş dosya/nesne ile değiştirin.
İndirilmek üzere bir yapılandırma dosyası göndermeden veya
konsolunda yer alan Firebase, API anahtarlarının listelendiği
uygulamalarla eşleştir.