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

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

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

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

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

$wget URL

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

Linux(CentOS)のプロンプトでのwget実行画面

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

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

このLinuxの標準コマンドである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ドライブのファイルをリンク共有しておくことです。

wgetしたいファイルはGoogleドライブ上で共有リンクを設定しておく必要がある

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

LinuxコマンドでwgetでGoogleドライブのファイルを入手できるように共有設定を有効にしておく

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

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でファイルをダウンロードできます。

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

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

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

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

XserverのCron機能を使ってwgetコマンドを定期的に実行する

こうしたレンタルサーバーの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ドライブのファイル取得をぜひ試してみてください。