我想要清空service.Permissions.Delete(PermissionID, fileId).Execute();
service.Files.Delete(fileId).Execute();
我该如何清空它是我的代码而我正在使用Google Drive V3。
if #available(iOS 10.0, *) {
UNMutableNotificationContent *objNotificationContent = [[UNMutableNotificationContent alloc] init];
objNotificationContent.body = @"Notifications";
objNotificationContent.badge = @([[UIApplication sharedApplication] applicationIconBadgeNumber] + 1);
UNTimeIntervalNotificationTrigger *trigger = [UNTimeIntervalNotificationTrigger triggerWithTimeInterval:60 repeats:NO];
UNNotificationRequest *request = [UNNotificationRequest requestWithIdentifier:@"identifier" content:objNotificationContent trigger:trigger];
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
[center addNotificationRequest:request withCompletionHandler:^(NSError * _Nullable error) {
if (!error) {
}
else {
}
}];
}
else
{
UILocalNotification *localNotif = [[UILocalNotification alloc] init];
localNotif.fireDate = [[NSDate date] dateByAddingTimeIntervalInterval:60];
localNotif.alertBody = @"Notifications";
localNotif.repeatInterval = NSCalendarUnitMinute;
localNotif.applicationIconBadgeNumber = 0;
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
}
两行都给出了权限403错误。
如果我删除MyDrive文件的时间第二行他工作正常,但与我共享文件夹未删除
答案 0 :(得分:0)
你需要记住的是,与我分享不是你实际拥有的文件,这就是为什么这不起作用。
service.Files.Delete(FILEID).Execute();
首先获取Share with me文件夹中所有文件的列表。
var request = service.Files.List();
request.Q = "(sharedWithMe = true)";
request.Fields = "*";
var results = request.Execute();
找到您要删除的文件:
var myfile = results.Files.Where(a => a.Name.ToLower().Equals("receipt.pdf")).FirstOrDefault();
现在找到与当前经过身份验证的用户关联的该文件的权限:
var per = myfile.Permissions.Where(a => a.EmailAddress.ToLower().Equals("xxxxx@gmail.com")).FirstOrDefault();
从邮件文件中删除权限。
service.Permissions.Delete(myfile.Id, per.Id).Execute();
我测试了它并且它起作用了。您可以通过循环运行初始请求,并根据需要删除所有内容。
注意:这似乎并不适用于所有情况。我的Google驱动器上有一个文件,该文件通过似乎是一个服务帐户与我共享。我对该文件没有权限,因为我无法删除我的访问权限。我还在挖。