2017-08-23 1 views
0

Ich verwende die Google Analytics Reporting-API v4 (C#), um Daten zu erhalten. Ich verwende diesen Code zur Autorisierung. Auf meiner lokalen Maschine funktioniert alles gut. Aber auf meinem Produktionsserver bekomme ich den Fehler: "Zugriff auf den Pfad 'C: \ Windows \ system32 \ config \ systemprofile' wird verweigert." Es hat nichts mit Schreibrechten für Ordner/Dateien zu tun, weil ich von einer Online-Zauberei lese. Ich kann das nicht herausfinden .... Heres mein Code:GoogleWebAuthorizationBroker - Der Zugriff auf den Pfad 'C: Windows system32 config systemprofile' wurde verweigert

var client = neuer WebClient();

var stream = client.OpenRead("https://api.myjson.com/bins/drj87"); 

var loginEmailAddress = ConfigurationManager.AppSettings["AnalyticsReporting.Email"]; 

return await GoogleWebAuthorizationBroker.AuthorizeAsync(
    GoogleClientSecrets.Load(stream).Secrets, 
    new[] { AnalyticsReportingService.Scope.Analytics }, 
    loginEmailAddress, CancellationToken.None, 
    new FileDataStore("GoogleAnalyticsApiConsole")); 

Antwort

0

Von https://developers.google.com/api-client-library/dotnet/reference/1.9.1/classGoogle_1_1Apis_1_1Util_1_1Store_1_1FileDataStore:

Google.Apis.Util.Store.FileDataStore.FileDataStore(string folder, bool fullPath = false)   

Constructs a new file data store. If fullPath is false the path will be used as relative to Environment.SpecialFolder.ApplicationData, otherwise the input folder will be treated as absolute. The folder is created if it doesn't exist yet.

setzen also den vollständigen Pfad eines Verzeichnisses Ihr Dienstkonto hat Berechtigungen haben, und setzen fullPath auf true.

+0

Aber wie wähle ich einen Ordner in meinem Projekt? Angenommen, klassischer App_Data-Ordner. In der Produktion habe ich nur Zugriff auf Ordner, die in meinem Projekt erstellt wurden. – user3228992

+0

In die Konfigurationsdatei einfügen? Oder verwenden Sie den FullPath der aktuellen ausführbaren Datei, um den Pfad zu Ihrer Anwendung zu finden? –

Verwandte Themen