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ドライブのファイル取得をぜひ試してみてください。
ディスカッション
コメント一覧
まだ、コメントがありません