Ich verwende Analytics Reporting API v4 (C#). Auf meiner lokalen Maschine funktioniert alles einwandfrei, aber nicht in der Produktion auf dem Webserver.Google Analytics Reporting API - Fehler beim Starten des Browsers auf dem Produktionsserver
ich eine OAuth 2.0-Client-ID in der Google-Entwickler-Konsole für Web-Anwendung auf beiden Adressen eingerichtet habe ('http://localhost:12345', 'http://localhost:12345/Callback' und die eigentliche Domäne auf dem Server: 'http://example.com', 'http://example.com/Callback')
Ich glaube nicht, dass der Fehler mit meinem Code verbunden ist. Und ich lese auch meine JSON von einer Online-Quelle, so dass es nicht mit Benutzer-lesen/schreiben Probleme verbunden sein kann. Und ich habe vollen Zugriff auf den Ordner App_Data in meinem Projekt auf dem Produktions-Server. Hier ist sie:
var path = Server.MapPath("~/App_Data");
var client = new WebClient();
var stream = client.OpenRead(https://api.myjson.com/bins/blahblah987654);
var loginEmailAddress = ConfigurationManager.AppSettings["AnalyticsReporting.Email"];
return await GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
new[] { AnalyticsReportingService.Scope.Analytics },
loginEmailAddress, CancellationToken.None,
new FileDataStore(path, fullPath: true));
auf meinem lokalen Rechner eine Datei auf dieser Linie erstellt: new FileDataStore(path, fullPath: true));
Aber nicht auf dem Server (auch wenn ich auf den App_Data-Ordner volle Berechtigung gesetzt haben). Und wenn ich die Datei manuell von der lokalen zur Produktionskopie kopiere, wird sie entfernt, wenn die URL, die den obigen Code enthält, getroffen wird.
Was ist der Fehler? Haben Sie Ihre autorisierten Weiterleitungs-URIs überprüft? – sdhaus
@sdhaus Dies ist die errorPage, die ich erhalte: https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&response_type=code&client_id=934254096895-8bt34v7n9qs3t0kjl04gan1arjb5kkb5.apps.googleusercontent.com&redirect_uri=http:%2F%2Flocalhost : 55882% 2F autorisieren% 2F & Bereich = https:% 2F% 2Fwww.googleapis.com% 2Fauth% 2Fanalytics. Ich weiß nicht, warum es heißt: "Der Umleitungs-URI in der Anfrage, http: // localhost: 55882/authorize, stimmt nicht mit den für den OAuth-Client autorisierten überein", da die einzigen redirectUrs, die ich in der Entwicklerkonsole gesetzt habe, http: // sind beispiel.com und http://example.com/Callback? – user3228992
Versuchen Sie, neue Anmeldeinformationen für den Produktionsserver zu erstellen. Es ist eine [bewährte Vorgehensweise] (https://developers.google.com/identity/protocols/OAuth2#scenarios), dass die Clientanmeldeinformationen für prod/test/staging unterschiedlich sind. Es dauert auch einige Zeit, bevor die Änderungen tatsächlich widerspiegeln. Hoffe, das hilft –