Error when sending message using a quota project
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia riproducendo il problema tramite FirebaseApp.Create, FirebaseMessaging.GetMessaging e FirebaseMessaging.SendAsync utilizzando una credenziale creata con CreateWithQuotaProject. Esamina lo stack trace attraverso FirebaseMessagingClient.SendAsync e ConfigurableMessageHandler.CheckValidAfterInterceptors per determinare perché l’header x-goog-user-project viene rifiutato. Il lavoro è completato quando i messaggi vengono inviati in modo affidabile senza l’InvalidOperationException.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
[REQUIRED] Step 2: Describe your environment
We are running our API on Google's cloud run.
- Firebase SDK version: FirebaseAdmin version 3.1.0
- Firebase Product: Messaging
- .NET version: 8.0
[REQUIRED] Step 3: Describe the problem
Steps to reproduce:
We are creating a FirebaseApp and retrieving the FirebaseMessaging instance via this code:
public FirebaseMessaging GetFirebaseMessaging()
{
var apiKey = _contextService.ApiKey;
var app = _apps.GetOrAdd(apiKey, key =>
{
var projectId = $"{_firebaseSettings.Value.ProjectIdPrefix}{key[..8]}-{key[^12..]}";
var credential = GoogleCredential.GetApplicationDefault().CreateWithQuotaProject(projectId);
var options = new AppOptions
{
Credential = credential,
ProjectId = projectId,
HttpClientFactory = _httpClientFactory
};
return FirebaseApp.Create(options, key);
});
return FirebaseMessaging.GetMessaging(app);
}
With the value returned by the previous method, we send a message using the following code:
var messageId = await messaging.SendAsync(message, cancellationToken);
but we sometimes get the following error:
System.InvalidOperationException: x-goog-user-project header can only be added through the credential or through the <Product>ClientBuilder.
at Google.Apis.Http.ConfigurableMessageHandler.CheckValidAfterInterceptors(HttpRequestMessage request)
at Google.Apis.Http.ConfigurableMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at FirebaseAdmin.Util.ErrorHandlingHttpClient`1.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at FirebaseAdmin.Util.ErrorHandlingHttpClient`1.SendAndReadAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at FirebaseAdmin.Util.ErrorHandlingHttpClient`1.SendAndDeserializeAsync[TResult](HttpRequestMessage request, CancellationToken cancellationToken)
at FirebaseAdmin.Messaging.FirebaseMessagingClient.SendAsync(Message message, Boolean dryRun, CancellationToken cancellationToken)
at FirebaseAdmin.Messaging.FirebaseMessaging.SendAsync(Message message, Boolean dryRun, CancellationToken cancellationToken)
at FirebaseAdmin.Messaging.FirebaseMessaging.SendAsync(Message message, CancellationToken cancellationToken)
at Campaigns.Data.Clients.PushNotificationClient.SendPushNotificationAsync(SendPushNotification pushNotification, CancellationToken cancellationToken) in /src/campaign/src/Campaigns.Data/Clients/PushNotificationClient.cs:line 33
I may be missing something, but the x-goog-user-project header is added automatically via the SDK.
- Lingua principale
- C#
- Stelle
- 408
- Fork
- 147
- Merge medio
- 1g 3h
- PR unite (30g)
- 10
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di firebase/firebase-admin-dotnet
-
AbstractFirebaseAuth.cs has a typo (accound/account)Forse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Apertaneeds-triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
firebase/firebase-admin-dotnet#334 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 78/100
firebase/firebase-admin-dotnet#588 ·
I maintainer di solito rispondono entro 1 giorno
-
Sending FCM notification with Fids Return NotRegisteredForse di nuovo libera @yvonnep165 l’ha presa 76 giorni fa e non c’è nessuna pull request aperta. Aperta
firebase/firebase-admin-dotnet#534 · 5 commenti · 1 reazione · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Sending MulticastMessage does not work after replacing Tokens with FidsForse di nuovo libera @Doris-Ge l’ha presa 105 giorni fa e non c’è nessuna pull request aperta. Apertaapi: messaging
firebase/firebase-admin-dotnet#530 · 2 commenti · 2 assegnatari ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
firebase/firebase-admin-dotnet#526 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di firebase/firebase-admin-dotnet
Issue simili
-
effort:S P3 refactor
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
nightscout/nocturne#3243 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
dasher-project/Dasher-Windows#84 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
libnativeapi/nativeapi#21 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 3 giorni
-
enhancement P3 performance
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
thomhurst/TUnit#7380 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno