php Editor Banana Wenn Sie eine JSON-Schlüsseldatei eines Dienstkontos in einer Go-Anwendung verwenden, kann das Problem „Anfrage hat ungültige Authentifizierungsdaten“ auftreten. Dieses Problem wird normalerweise durch ein falsches Format oder einen falschen Inhalt der Schlüsseldatei verursacht. Um dieses Problem zu beheben, überprüfen Sie, ob die Schlüsseldatei das richtige Format hat und die richtigen Authentifizierungsinformationen enthält. Versuchen Sie außerdem, die Schlüsseldatei neu zu generieren und sicherzustellen, dass sie ordnungsgemäß in der Anwendung konfiguriert ist. Mit diesen Methoden können Sie das Problem „Anfrage hat ungültige Authentifizierungsdaten“ lösen und die JSON-Schlüsseldatei des Dienstkontos normal verwenden.
Ich entwickle eine Go-Anwendung für ein GCP-Projekt und verwende den Google Cloud-Protokollierungsdienst. Ich habe Probleme beim Ausführen der App, da mir angezeigt wird, dass meine Authentifizierungsdaten ungültig sind, wenn ich den JSON-Schlüssel des Dienstkontos verwende.
Dies ist der Codeausschnitt mit dem Fehler:
c, cerr := load(".env") if cerr != nil { log.fatalf("could not load config: %s", cerr) return } // initializes logger which writes to stdout ctx := context.background() opt := option.withcredentialsfile(c.googleapplicationcredentials); loggerclient, clienterr := logging.newclient(ctx, "poc-projects-01", opt) if clienterr != nil { log.fatal(clienterr) }
Dies ist die Definition der load()
-Funktion:
func Load(file string) (*Config, error) { viper.SetConfigFile(file) viper.AddConfigPath(".") viper.AutomaticEnv() if err := viper.ReadInConfig(); err != nil { return nil, err } c := &Config{ GoogleApplicationCredentials: viper.GetString("GOOGLE_APPLICATION_CREDENTIALS"), } return c, nil }
Ich habe eine .env
Datei mit folgendem Inhalt:
google_application_credentials=json/path-to-json.json
Ich weiß nicht, warum es heißt, dass das Token abgelaufen ist, obwohl dies der einzige JSON-Schlüssel für das Dienstkonto ist, den ich auf gcp und meinem lokalen Computer habe.
Überprüfen googleapplicationscredentals
, ob ein gültiger JSON-Schlüssel festgelegt ist und ob die Umgebungsvariablen korrekt festgelegt sind. Führen Sie bitte den folgenden Befehl aus, um zu überprüfen
echo $google_application_credentials
Wenn der Befehl nicht den richtigen Pfad zum JSON-Schlüssel zurückgibt, können Sie die Umgebungsvariable mit dem folgenden Befehl festlegen:
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/json/key.json
Nachdem Sie überprüft haben, ob der JSON-Schlüssel gültig ist und die Umgebungsvariablen richtig eingestellt sind, sollten Sie Ihre Anwendung ausführen können. Alternativ können Sie versuchen, die .env-Datei zu löschen und dann den Dienstkonto-JSON-Schlüssel zu verwenden. Dadurch sollte das Token neu generiert und gültig gemacht werden.
Zusätzliches Fehlerbehebungsdokumentals Referenz. a>
Das obige ist der detaillierte Inhalt vonBei Verwendung der JSON-Schlüsseldatei des Dienstkontos in der Go-Anwendung wird die Meldung „Die Anfrage weist ungültige Authentifizierungsdaten' angezeigt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!