Google api 创建始终与用户共享的文件和文件夹
使用c#中的Google Drive API和电子表格API 如何将文件夹和文件(电子表格)添加到文件夹中,并确保它们始终为人类用户共享和可见 我知道Google.api.Drive.Permission,但它有每日配额,并且发送电子邮件,这似乎不是正确的解决方案 我更愿意只在一个文件夹中工作,然后所有的东西都应该对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创建一个文件,然后添加该文件的权限,以便与用户共享该文件。你就是这样做的,没有更好的方法了。为了让用户访问
任何提示:)您可以使用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电子邮件地址进行读/写共享的文件夹,然后确保该文件夹中的所有内容都正常运行,并且所有文件对人和计算机都可见 向安德斯问好