2016-08-03 18 views
1

Ich bin nicht sicher, was ich verpasste, aber ich generierte die "json" -Datei und verband es mit dem Code nach der Installation des nuget-Pakets. Ich habe Zugriff auf Dateien aus den Google Drive-Ordnern, aber ich kann keine Datei erstellen. Es gibt mir einen Erlaubnisfehler.Google Drive API v3 - Hält immer Erlaubnisfehler

var fileMetadata = new Google.Apis.Drive.v3.Data.File(); 
fileMetadata.Name = "SomeFile.txt"; 
fileMetadata.MimeType = "application/vnd.google-apps.drive-sdk"; 
var request = service.Files.Create(fileMetadata); 
request.Fields = "id"; 
var file = request.Execute(); 

Ich habe versucht, die Bereiche auf .Drive und den ganzen Rest zu ändern, aber es hat immer noch nicht funktioniert. Was soll ich machen? Sollte es etwas sein, das ich auf der Seite verpasste, auf der ich den JSON erstellt habe, bevor ich das nuget-Paket der API installiert habe?

Fehler: Google.Apis.dll wurde aber in Benutzercode

Zusätzliche Informationen nicht behandelt: Google.Apis.Requests.RequestError

Unzureichende Berechtigung [403]

Fehler [

Message[Insufficient Permission] Location[ - ] Reason[insufficientPermissions] Domain[global] 

Dank

Antwort

0

EDIT: Das Problem ist gelöst. Wenn es Ihnen ungeachtet aller Änderungen im Bereich passiert, wird es wahrscheinlich aus dem angezeigten Dialog abgelehnt und Sie sollten in Ihrem Browser "Zulassen" wählen. Zum Beispiel habe ich versucht von einem anderen Computer und es geladen den Browser für mich in debug (es tut nur einmal), und bat um Zugriff zu erlauben. Danach hat alles funktioniert. Wenn der aktuelle Computer den Zugriff verweigert, fahren Sie mit dem Browser fort und entfernen Sie die Anwendung, die die API verwendet, und Sie erhalten den Dialog erneut.

0

In der Dokumentation der Drive API wird für den Benutzer die Empfehlung für diese 403 error gemeldet, dass diese Berechtigungen angefordert werden müssen, um die Datei zu aktualisieren. Sie können auch die Benutzerzugriffsebenen in den von files.get abgerufenen Metadaten überprüfen und diese verwenden, um Ihre Benutzeroberfläche in eine schreibgeschützte Benutzeroberfläche zu ändern. Stellen Sie außerdem sicher, dass Sie die Schritte in Authorization befolgen.

{ 
    "error": { 
    "errors": [ 
     { 
     "domain": "global", 
     "reason": "insufficientFilePermissions", 
     "message": "The user does not have sufficient permissions for file {fileId}." 
     } 
    ], 
    "code": 403, 
    "message": "The user does not have sufficient permissions for file {fileId}." 
    } 
} 

Auch die Files:create brauchen diesen Anwendungsbereich:

https://www.googleapis.com/auth/drive.file 
https://www.googleapis.com/auth/drive.appdata 

Für weitere Informationen, lesen Sie in diesem Zusammenhang SO Frage, es können Sie geben eine Idee, wie dieses Problem zu lösen.