GoogleドライブのファイルをLinux(CentOS)のwgetで取得する方法

Googleドライブにある様々なファイルをLinuxOSでwgetというコマンドを使って取得する方法を紹介します。

Google Apps Scriptで自動生成したデータを取得して、JSONでWebページを更新といった使い方ができます。

Linuxのwgetコマンドでファイル取得

サーバーOSで使われているLinux(CentOS,Ubuntu)にはwgetというコマンドがあります。

$wget URL

※上記以外にもオプションの指定が可能

引数でURLを指定することで、URLにあるファイルをダウンロードすることができます。

wgetでGoogleドライブのファイルもダウンロード可能

このLinuxの標準コマンドであるwgetを使えば、Googleドライブのファイルもダウンロードできます。

Googleドライブのファイルをダウンロードできると、Google Apps Scriptとの連携で利用の幅が飛躍的に高まります。

例えば、Google Apps Script(GAS)でスクレイピングした情報をJSONデータとして保存、そのJSONデータをwgetでダウンロードし、Linuxサーバーで情報更新することもできます。

さらに、JSONデータ以外にも、htmlファイルをGASで作成し、そのhtmlファイルをwgetで取得し、サーバーで表示することも可能です。

Google Apps ScriptでもWebアプリは可能ですが、「Googleから確認されていません」といった注意のメッセージが表示されます。

このようにGoogleドライブのファイルをwgetでダウンロードすることで、GASで取得した情報をレンタルサーバー上のWebサイトとして表現可能です。

LinuxでのGoogleドライブ取得の前提条件

ただし、GoogleドライブでファイルをLinuxのwgetで取得するためには、事前にクリアしておくべき前提条件があります。

それは取得したいGoogleドライブのファイルをリンク共有しておくことです。

通常のファイルはオーナーしかアクセス権限がないため、Linuxのwgetではファイル取得ができません。

そのため、事前に「共有可能なリンクを取得」を実行し、誰でもファイルにアクセスできるようにしておく必要があります。

wgetのGoogleドライブのファイル取得方法

通常のGoogleドライブの共有リンクは、Googleドライブでは以下のURLが取得できます。

https://drive.google.com/file/d/【GoogleドライブのファイルID】/view?usp=sharing

しかし、上記の形式ではwgetでファイル取得ができません。

wgetで取得するために以下の形式に変更する必要があります。

https://drive.google.com/uc?export=download&id=【GoogleドライブのファイルID】

上記のURLを引数にしてwgetを実行することで、Linuxでファイルをダウンロードできます。

wget “https://drive.google.com/uc?export=download&id=【GoogleドライブのファイルID】" -O 【保存先のディレクトリ】/【保存ファイル名】

レンタルサーバーではcronの定期実行が可能

レンタルサーバーのエックスサーバーやスターサーバーでは、cronの定期実行を設定することができます。

こうしたレンタルサーバーのcron設定を使えば、LinuxのVPSやAWSのEC2などがなくても、wgetでファイル取得が可能です。

安価なレンタルサーバーのみで、Google Apps Scriptでスクレイピング・取得した情報を整形し、Webサービスとして表示することができます。

まとめ・終わりに

今回、Linuxの標準コマンドであるwgetを使って、Googleドライブに格納されたファイルを取得する方法を紹介しました。

Googleドライブのファイルはそのままwgetによる取得ができませんが、共有設定を有効にしておくことで、ファイル取得が可能です。

cronによる定期実行と組合わせれば、Google Apps Scriptで生成したJSONの更新やHTMLファイルを取得、Webサーバーで表示するといったことができます。

Google Apps Scriptとの連携によって、様々な利用シーンに応用できます。

wgetによるGoogleドライブのファイル取得をぜひ試してみてください。