2

Google Visualization API のドキュメントには、Google スプレッドシートをデータ ソースとして使用する最も簡単な方法は公開することであると記載されています。そして、通常の状況ではうまく機能します。しかし、Drive API を使用して Google スプレッドシートを動的に作成しています。そのため、許可を得てスプレッドシートを作成しても、そのスプレッドシートをデータ ソースとしてすぐに使用することはできません。したがって、次の2つのソリューションのいずれかが必要です。

1) ドライブ API を介して Google スプレッドシートをプログラムで「公開」しますか?

2) Google Visualization API へのクエリを認証しますか?

コードは次のようになります。

var url = 'https://spreadsheets.google.com/tq?key=' + idOfSpreadsheet + '&headers=1&pub=1';
var query = new google.visualization.Query(url);
query.send(drawTable);

認証トークンを url 変数に追加できると思うかもしれませんが、それに関するドキュメントは見つかりません。これが私の最初の選択です。

それ以外の場合は、スプレッドシートを公開できますが、JavaScript から公開する方法がわかりません。現在、新しく作成したスプレッドシートを Google ドライブ UI で開き、手動で公開する必要があります。動的に作成された各スプレッドシートをどのように実行するかをユーザーに説明する必要はありません。

乾杯ジェームズ

4

1 に答える 1

0

あなたが言及したように、oauth 2 アクセス トークンを URL に追加しようとすることができます。

Google スプレッドシートを作成した後、承認済みの操作を実行してメタデータをクエリできます。

GET https://www.googleapis.com/drive/v2/files/<file_key>

ドキュメントを参照してください

ファイルのメタデータで、可能なエクスポート形式のリストを取得します。

...
"exportLinks": {
  "application/pdf": "https://docs.google.com/...&exportFormat=pdf",
  "application/x-vnd.oasis.opendocument.spreadsheet": "https://docs.google.com/...exportFormat=ods",
  "application/vnd.ms-excel": "https://docs.google.com/...&exportFormat=xls"
},
...

最初のシートしかダウンロードできないため、CSV はリストされていませんが、サポートされているため、次の URL を使用できます。

https://docs.google.com/feeds/download/spreadsheets/Export?key=<file_key>&exportFormat=csv

ただし、承認済みのリクエストを行う必要があるため、次のように認証トークンを追加する必要があります。

https://docs.google.com/feeds/download/spreadsheets/Export?key=<file_key>&exportFormat=csv&access_token=<auth_token>

OAuth 2.0 アクセス トークンは 1 時間のみ有効であるため、最終的には更新する必要があることに注意してください。

于 2012-08-18T14:04:14.917 に答える