GASでGoogleドライブのストレージ容量と使用量を取得してみる

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る
icon_for_DriveApp_getStorageLimit_and_getStorageUsage

今回はGoogleドライブのストレージ容量とストレージ使用量を取得するgetStorageLimitとgetStorageUsedについてご紹介します。どういう風に活用すれば良いのか私の想像力が及びませんが、GASではとても簡単にストレージ容量と使用量を確認するためのメソッドが用意されています。GASでは本当にいろいろなメソッドが用意されていますね。

使用用途としては、思い浮かぶものとしては、ファイルアップローダーで現在どのくらいの空き容量があるのかを出力したり、残容量によって処理を分岐させたりということで使えるのかもしれません。

さて、今回もデモアプリを1つ作ってみました。大したアプリではないのですが、ドライブのストレージ容量と使用容量を取得してChart APIのGaugeという種類のチャートとして出力してストレージ容量に対して現在の使用量がどのくらいであるのかを視覚的に表示してみるだけのシンプルなアプリです。

getStorageLimitとDriveApp.getStorageUsedのデモアプリ(WEBアプリ

私はGoogle Oneのユーザーなので、ストレージ容量が2TBあります。2TBだとGB換算では2200GBぐらいの容量があるようですね。使用容量はほとんど使っていませんが、作成時点では28.5GBぐらいの使用量のようです。DriveApp_getStorageLimit_and_DriveApp_getStorageUsed_Demo

今回ご紹介するメソッドを使うと、ストレージ容量と使用量をByte単位で取得することができます。上記WEBアプリでは、Byte単位のデータを計算してGB単位に変更してある程度のところで四捨五入して小数点第3位以下を丸めています。Byte単位だと全然頭に入ってこなかったのでそのようにしてみました。

アプリとしてはしょーもないアプリなので、詳しく説明はしませんが、コードを提供して欲しい場合はご連絡ください。

  1. getStorageLimit()
  2. getStorageUsed()

getStorageLimit()

『 引数に入れる値 』

今回は引数の指定は必要ありません。
まずはストレージ容量を取得するメソッドからご紹介します。このメソッドを使用すると、実行アカウントのストレージ容量の上限値がByte単位で取得できます。

DriveApp.getStorageLimitサンプルコード
//ストレージ容量の上限値を取得するプログラム
function sampleCodeForDriveAppGetStrageLimit() {
  var storageLimit = DriveApp.getStorageLimit();
  Logger.log(storageLimit); //Byte単位
  Logger.log(storageLimit / 1024); //KB単位
  Logger.log(storageLimit / 1024 / 1024); //MB単位
  Logger.log(storageLimit / 1024 / 1024 / 1024); //GB単位
  Logger.log(storageLimit / 1024 / 1024 / 1024 / 1024); //TB単位
}

『 変数の説明 』

storageLimit = ストレージ容量を取得して代入
本当にシンプルなコードです。変数storageLimitには実行したアカウントのストレージ容量の上限値が入りますので、プログラム実行後にCtrl + Enterでログを確認するとストレージ容量の上限値が数値で出力されます。文字列ではなく数値で取得されるため、そのまま数式に入れて計算することができます。下記のログでは、Byte単位とKB単位までの数字の表記がおかしいと思いますが、桁数が多い場合にこのような表記になります。計算式に入れた場合は通常の数字と同じように計算できます。

log_for_getStorageLimit

getStorageUsed()

『 引数に入れる値 』

今回は引数の指定は必要ありません。
次にストレージ使用量を取得するメソッドをご紹介します。このメソッドを使用すると、実行アカウントのストレージ使用量がByte単位で取得できます。

DriveApp.getStorageUsedサンプルコード
//ストレージ使用量を取得するプログラム
function sampleCodeForDriveAppGetStrageUsage() {
  var storageUsed = DriveApp.getStorageUsed();
  Logger.log(storageUsed); //Byte単位
  Logger.log(storageUsed / 1024); //KB単位
  Logger.log(storageUsed / 1024 / 1024); //MB単位
  Logger.log(storageUsed / 1024 / 1024 / 1024); //GB単位
  Logger.log(storageUsed / 1024 / 1024 / 1024 / 1024); //TB単位
}

『 変数の説明 』

storageLimit = ストレージ容量を取得して代入
こちらも使い方は変わりませんのでシンプルなコードです。変数storageUsageには実行したアカウントのストレージ使用量が入りますので、プログラム実行後にCtrl + Enterでログを確認するとストレージ使用量が数値で出力されます。こちらも文字列ではなく数値で取得されるため、そのまま数式に入れて計算することができます。

log_for_getStorageUsage

残容量を算出したい場合、『storageLimit – storageUsage』

残容量率を算出したい場合、『(storageLimit – storageUsage) / storageLimit * 100』

使用率を算出したい場合、『storageUsage / storageLimit * 100』

こんな感じで計算をすれば簡単に算出することができますね。残容量によって処理を変更してみるなどに活用してみてください。

まとめ

今回はGoogle Apps Scriptを使ってドライブのストレージ容量上限値や残容量を確認するためのコードをご紹介しました。ファイルを保存しようとしても容量がなければ保存することができませんので、保存前に残容量を取得して容量が足りなければ警告メッセージなどが出るようにすることもできますね。ドライブ上に大量のファイルを作成する処理などを実行する場合は保存処理をする前に確認する処理を入れても良いかもしれませんね。

SNSでもご購読できます。

コメントを残す

*