2017-05-26 1 views
0

Hallo Ich versuche, einen Code (C#) zu schreiben, die die öffentliche Leseberechtigung geben, hier die Datei ist der Code:Google-Laufwerk api Leseberechtigung V3

private static Permission MakeFilePublic(string fileId, DriveService driveService) 
    { 
     var request = driveService.Permissions.List(fileId); 
     var res = driveService.Permissions.List(fileId).Execute(); 
     var hasReadPermission = res.Permissions.Any(p => p.Role == "reader"); 
     if (hasReadPermission==false) 
     { 
      var per = CreatePermission(driveService, fileId, "[email protected]", "anyone", "reader"); 
      return per; 

     } 
     return null; 
    } 

public static Permission CreatePermission(DriveService service, String fileId, String userEmailAddress, String type, String role) 
{ 
    Permission newPermission = new Permission(); 
    newPermission.EmailAddress = userEmailAddress; 
    newPermission.Type = type; 
    newPermission.Role = role; 
    try 
    { 
     var res = service.Permissions.Create(newPermission, fileId).Execute(); 
     return res; 
    } 
    catch (Exception e) 
    { 
     Console.WriteLine("An error occurred: " + e.Message); 
    } 
    return null; 
} 

Mein Problem ist, dass ich einen Fehler

Die angegebene E-Mail-Adresse ist ungültig oder gilt nicht für den angegebenen Berechtigungstyp.

Ich habe versucht, leere E-Mail eingeben, meine E-Mail, nichts hat funktioniert. jemand weiß, wie man es löst, und machen Sie die Google-Dokument-Datei als öffentliche Freigabe Vielen Dank!

Antwort

0

Verwaltet, um die Antwort von der zu reprobieren Versuchen Sie diese API Abschnitt in der documentation.

Ich habe eine 200 OK Antwort nach Entfernen der emailAddress Parameter aus der Anfrage. Doppelklicken Sie die Datei und es wurde öffentlich freigegeben.

+0

@ user3728728 Wie war es? Konnten Sie die Datei erfolgreich freigeben, nachdem Sie die E-Mail-Adresse aus Ihrer Anfrage entfernt haben? –