Google api 创建始终与用户共享的文件和文件夹

Google api 创建始终与用户共享的文件和文件夹,google-api,google-drive-api,google-sheets-api,Google Api,Google Drive Api,Google Sheets Api,使用c#中的Google Drive API和电子表格API 如何将文件夹和文件(电子表格)添加到文件夹中,并确保它们始终为人类用户共享和可见 我知道Google.api.Drive.Permission,但它有每日配额,并且发送电子邮件,这似乎不是正确的解决方案 我更愿意只在一个文件夹中工作,然后所有的东西都应该对API和人类用户可见 任何提示:)您可以使用Google drive api创建一个文件,然后添加该文件的权限,以便与用户共享该文件。你就是这样做的,没有更好的方法了。为了让用户访问

使用c#中的Google Drive API和电子表格API

如何将文件夹和文件(电子表格)添加到文件夹中,并确保它们始终为人类用户共享和可见

我知道Google.api.Drive.Permission,但它有每日配额,并且发送电子邮件,这似乎不是正确的解决方案

我更愿意只在一个文件夹中工作,然后所有的东西都应该对API和人类用户可见


任何提示:)

您可以使用Google drive api创建一个文件,然后添加该文件的权限,以便与用户共享该文件。你就是这样做的,没有更好的方法了。为了让用户访问它,您必须授予他们对它的权限

    /// <summary>
    /// Creates a permission for a file or Team Drive. 
    /// Documentation https://developers.google.com/drive/v3/reference/permissions/create
    /// Generation Note: This does not always build corectly.  Google needs to standardise things I need to figuer out which ones are wrong.
    /// </summary>
    /// <param name="service">Authenticated Drive service.</param>  
    /// <param name="fileId">The ID of the file or Team Drive.</param>
    /// <param name="body">A valid Drive v3 body.</param>
    /// <param name="optional">Optional paramaters.</param>
    /// <returns>PermissionResponse</returns>
    public static Permission Create(DriveService service, string fileId, Permission body, PermissionsCreateOptionalParms optional = null)
    {
        try
        {
            // Initial validation.
            if (service == null)
                throw new ArgumentNullException("service");
            if (body == null)
                throw new ArgumentNullException("body");
            if (fileId == null)
                throw new ArgumentNullException(fileId);

            // Building the initial request.
            var request = service.Permissions.Create(body, fileId);

            // Applying optional parameters to the request.                
            request = (PermissionsResource.CreateRequest)SampleHelpers.ApplyOptionalParms(request, optional);

            // Requesting data.
            return request.Execute();
        }
        catch (Exception ex)
        {
            throw new Exception("Request Permissions.Create failed.", ex);
        }
    }
//
///为文件或团队驱动器创建权限。
///文件https://developers.google.com/drive/v3/reference/permissions/create
///生成说明:这并不总是正确构建。谷歌需要标准化,我需要找出哪些是错误的。
/// 
///已验证的驱动器服务。
///文件或团队驱动器的ID。
///一个有效的驱动器体。
///可选参数。
///许可响应
公共静态权限创建(DriveService服务、字符串文件ID、权限正文、权限CreateOptionalParms optional=null)
{
尝试
{
//初步验证。
if(服务==null)
抛出新的异常(“服务”);
if(body==null)
抛出新的异常(“正文”);
if(fileId==null)
抛出新的ArgumentNullException(fileId);
//构建初始请求。
var request=service.Permissions.Create(body,fileId);
//将可选参数应用于请求。
请求=(PermissionsResource.CreateRequest)SampleHelpers.ApplyOptionalParms(请求,可选);
//请求数据。
返回请求。Execute();
}
捕获(例外情况除外)
{
抛出新异常(“请求权限。创建失败。”,ex);
}
}
从我的示例项目中删除的代码


如果您对配额有问题,那么您可以尝试转到google开发者控制台并增加配额。注意:配额基于请求的数量,而不是您提出的请求类型

感谢您提供有关示例权限的信息

我发现,如果您只需手动创建一个与google drive API电子邮件地址进行读/写共享的文件夹,然后确保该文件夹中的所有内容都正常运行,并且所有文件对人和计算机都可见

向安德斯问好