谷歌驱动器api读取权限V3

时间:2017-05-26 11:37:36

标签: google-drive-api google-docs-api

您好我正在尝试编写一个代码(c#),它将赋予文件公共读取权限,这里是代码:

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, "myemail@gmail.com", "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;
}

我的问题是我收到错误

  

指定的emailAddress无效或不适用于给定的权限类型。

我尝试输入空电子邮件,我的电子邮件,没有任何效果。 任何人都知道如何解决它,并将谷歌文档文件共享为公共 谢谢!

1 个答案:

答案 0 :(得分:0)

管理以重新启动documentation试用此API 部分的回复。

从请求中删除 emailAddress参数后,我收到了200 OK响应。双重检查文件并公开共享。