公開されていない Google スプレッドシートがありますが、アクセス リンクを知っている人なら誰でも利用できます。Googleアカウントにログインしていなくても(つまり匿名アクセスが許可されていれば)ブラウザからCSV形式のデータにアクセスできますが、wgetを使用してコマンドラインからデータをダウンロードする方法はありません. . ダウンロード URL を作成するための手順が記載された Web ページをいくつか見つけましたが、今のところ成功していません。これを行う簡単で直接的な方法はありますか、それとも Google データ ライブラリを使用してそのデータにアクセスする必要がありますか?
5 に答える
あなたが何をしようとしているのかを正しく理解していないかもしれませんが、この記事で私にとってはうまくいく解決策を見つけました.
記事内ではスプレッドシートのダウンロードリンクをXLSファイル(「&output=xls」を使用)で作成していますが、「&output=csv」を試してみたところ、正しいCSVファイルのダウンロードに成功しました。
これは、記事の著者が提案した方法で作成された「Download Test Spreadsheet」へのダウンロード リンクですが、「xls」の代わりに「csv」が使用されています。
https://docs.google.com/spreadsheet/ccc?key=0At2sqNEgxTf3dEt5SXBTemZZM1gzQy1vLVFNRnludHc&output=csv
リンクは匿名 (つまり、「リンクを知っている人なら誰でも閲覧可能」) で、Google アカウントにログインせずにダウンロードしました。wget を使用しなかったことは認めますが (ブラウザーを使用しただけで、wget をインストールしていませんでした)、wget がうまく機能しない理由は思いつきません。
実際、wget のコピーを取得して試してみたところ、ファイルも正しくダウンロードされます。
% wget --no-check-certificate --output-document=test.csv 'https://docs.google.com/spreadsheet/ccc?key=0At2sqNEgxTf3dEt5SXBTemZZM1gzQy1vLVFNRnludHc&output=csv'
< bla bla bla, reams of output from wget >
% cat test.csv
Foo,Bar,Baz
1,2,3
4,5,6
では、どうぞ...
2018年のアップデート
@AndyMortimer のコメントによると、新しいダウンロード URL は
https://docs.google.com/spreadsheets/d/<KEY>/export?gid=<GID>&format=csv
どこに<KEY>
あり、ナビゲーションの URL<GID>
から取得できます。
https://docs.google.com/spreadsheets/d/<KEY>/edit#gid=<GID>
PS: スプレッドシートには複数のワークブックが含まれる場合があります。GIDは目的のワークブック ID です。One-workbook-spreadsheet にgid=0
は通常.
したがって、wget
同じスプレッドシートを使用して、
wget --no-check-certificate -O test.csv \
'https://docs.google.com/spreadsheets/d/0At2sqNEgxTf3dEt5SXBTemZZM1gzQy1vLVFNRnludHc/export?gid=0&format=csv'
wget
次のようなパブリック スプレッドシートの URL から、有効な URLを取得できます。
https://docs.google.com/spreadsheets/d/LONG_ID_STRING/edit?usp=sharing
それらを次のように変更します。
https://docs.google.com/spreadsheets/d/LONG_ID_STRING/export?format=csv
私の wget コマンドは次のようになります。
$ wget "https://docs.google.com/spreadsheets/d/LONG_ID_STRING/export?format=csv"
最初に右上の青い [共有] ボタンをクリックしてスプレッドシートを共有し、次に [共有可能なリンクを取得] をクリックしてください。