2017-02-21 11 views
0

空にしたいShare with me folder空にするには私のコードで、私はGoogleドライブV3を使用しています。Googleドライブの私と共有フォルダが空白ですか?

service.Permissions.Delete(PermissionID, fileId).Execute(); 
service.Files.Delete(fileId).Execute(); 

どちらの行でも許可403エラーが発生します。

私はMyDriveファイルを削除した場合、彼はうまく働いたが、私と一緒に共有当時セカンドラインが

+0

サービスアカウントを使用していますか? – DaImTo

答えて

0

を削除したフォルダではなく、あなたが覚えておく必要がある事は私と一緒にシェアあなたが実際にそれがなぜこれのdidnで独自のファイルではないということです仕事はありません。

service.Files.Delete(fileId).Execute();

最初に[共有する]フォルダ内のすべてのファイルのリストを取得します。

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("[email protected]")).FirstOrDefault(); 

は、メールファイルから権限を削除します。 。

service.Permissions.Delete(myfile.Id, per.Id).Execute(); 

私はそれをテストして動作しました。ループを介して最初のリクエストを実行し、必要に応じてすべてを削除することができます。

注:これはすべての場合に機能するとは限りません。 Googleドライブに、サービスアカウントのように見えるファイルを共有しています。私はそこに私のアクセスを削除することはできませんのファイルに対するアクセス許可があります。私はまだ掘っている。

+0

返品許可エラー – KrishnaKanhaiya

+0

サービスアカウントを使用していますか?私はreadonly権限でそれを行うことができました。 Oauth2の使用ここでは、私が使った完全なソースはhttps://gist.github.com/LindaLawton/6e3b76fa3e9a2d8d72d96fe7f1d71297です – DaImTo

関連する問題