前提・実現したいこと
Google Workspace環境下で、指定のファイルを削除し、新規ファイルを生成します。
(ゴミ箱移動ではなく、完全に削除するため、Drive API V.2 を使用しています)
現象を確認したのは2021/6/10の昼以降です。
それまでは正常動作していました。
- 自身がオーナーであるファイルに関しては何度かエラーが出ることがあったが現在は正常動作
- 自身にオーナー権限がないファイルは常に以下のエラーメッセージが出る
StackOverflowで探してみましたが、私には同様のトラブル報告を見つけられませんでした。
オーナー権限の有無が関連していると思いますが、先述の通り、それまでは正常に機能していました。
別環境(共有外の別アカウント、別人)でプロジェクトをコピーしたものを開発・テスト用に走らせていますが、同様の現象が発生します。
私が使用している環境はテスト環境より一つ古いバージョンのスクリプトです。
もちろん、「正常動作していた」と勘違いしていることも否めませんが、
これまでに様々なケースでテストしており、同様の報告や現象は確認していません。
リファレンスよりファイルのオーナー権限は必要条件ではないという解釈です。
Permanently deletes a file by ID. Skips the trash. The currently authenticated user must own the file or be an organizer on the parent for shared drive files. Try it now or see an example.
Drive API v2 Files:delete より
原因についてわかる方がいらっしゃいましたら、ご回答いただけましたら幸いです。
発生している問題・エラーメッセージ
次のエラーが発生し、drive.files.delete の呼び出しに失敗しました: Insufficient permissions for this file
該当のソースコード
Javascript:sample.gs
1function hoge(){ 2 const id = '削除対象ファイルのID'; 3 Drive.Files.remove(id); 4 // 以降、新規生成処理 5}
試したこと
- バックアップしてあった過去のバージョン(数種類)のスクリプトに差し替えて実行
- 共有ユーザーのドライブのゴミ箱を手動で削除
- Drive API v2 の Try this API でも同様の結果
補足情報
Permanently deletes a file owned by the user without moving it to the trash. If the file belongs to a shared drive the user must be an organizer on the parent. If the target is a folder, all descendants owned by the user are also deleted.
Drive API v3ではオーナー権限が必要条件に変更されています。
v2のdeleteを指定しているにも関わらず、v3のdeleteが実行されているという印象です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。