Help us understand the problem. What is going on with this article?

Google app script + REST API v2でファイルを完全削除またはゴミ箱を空にする

More than 3 years have passed since last update.

この記事は?

Google Apps Script Advent Calendar 2016の12月21日の記事です。
Google app scriptのDrive API には、ファイルをゴミ箱に移動することはできても、
ファイルを完全に削除することやゴミ箱を空にすることはできません。
リファレンスを見ても探しても見つからないので、出来ないように思えますが、
Google Drive APIs REST v2を使用することで可能です。

スクリーンショット 2016-12-21 20.12.00.png

Google Drive APIs REST v2 とは

Google Drive を外部のアプリケーションから操作するためのAPIです。
公式ページはこちらです。
他のサービスからは認証が大変なのですが、Google App Scriptからは、
とても簡単に操作ができます。
(すでに認証済みの状態でなければGoogle App Scriptを操作できないため)

こちらのemptyTrashリファレンスからその効果を試すことが出来ます。
下記の画像の「EXECUTE」のボタンを押してください。
なんと自分のGoogle Driveのゴミ箱が空になります!(間違って押すと大変)

スクリーンショット 2016-12-21 19.45.51.png

準備

REST API を使用するためには準備が必要です。

準備1:Google App Script側

Google App Scriptのメニューにある「リソース>Googleの拡張サービス…」を選択

スクリーンショット 2016-12-21 19.55.43.png

Drive API (v2)をONにし、OK

スクリーンショット 2016-12-21 19.56.36.png

準備2:Google APIsでの認証

Google App Scriptのメニューにある「リソース>Developers Console プロジェクト…」を選択

スクリーンショット 2016-12-21 20.11.36.png

関係づけられているプロジェクトの部分をクリック(赤く囲んでいるところ)

スクリーンショット 2016-12-21 20.10.57.png

Drive API を有効にする

スクリーンショット 2016-12-21 20.08.10.png
↑driveを検索するとすぐに見つかります。このあと、有効にすかどうかの確認画面が現れます。

ソースコード

//ゴミ箱を完全に空にする
Drive.Files.emptyTrash();

//特定ファイルを削除する(ゴミ箱に入らず完全削除)
Drive.Files.remove("ID");

(これだけなので、ビックリしました。)

補足

なお、特定ファイル完全削除が、deleteではなくremoveなのは
Google App Scriptの予約語でdeleteがあるための処置だと思われます。

参考記事

[導入ガイド]
https://developers.google.com/drive/v2/web/quickstart/apps-script
[ゴミ箱完全削除のリファレンス]
https://developers.google.com/drive/v2/reference/files/emptyTrash
[特定ファイル削除のリファレンス]
https://developers.google.com/drive/v2/reference/files/delete

TakashiHamada
ゲームつくってます。
https://gift10.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away