web-dev-qa-db-ja.com

GoogleドキュメントスプレッドシートからJSONへ

これに関する記事をたくさん見てきましたが、古くなっているようです。たとえば、Google DocsSpreadsheetのURLには重要なパラメータがありません。私もこれを読みました: グーグルスプレッドシートからのJSONデータ

次に、これを読んでデータにアクセスします https://developers.google.com/gdata/samples/spreadsheet_sample

私のスプレッドシートは次の場所にあります: https://docs.google.com/spreadsheets/d/1SKI5773_68HiSve1fsz7fr4gotjFWHB7KBuVsOlLz6I/edit#gid=

このコードを使用してみましたが、キーまたは構文に問題があると思います。修正するためのガイドをご覧ください。

<script src="http://spreadsheets.google.com/feeds/feed/1SKI5773_68HiSve1fsz7fr4gotjFWHB7KBuVsOlLz6I/worksheet/public/basic?alt=json-in-script&callback=importGSS"></script>

<script type="text/javascript">

    function importGSS(json) {
        console.log('finished');
    }
</script>
12
user2727195

srcタグのscript属性は無効なリンクです(これは ブラウザで直接リンクを表示する で確認できます)。

URLのfeed/key/worksheetセクションには正しいkeyがありますが、間違ったfeedworksheetがあります。

URLで、「feed」を「cells」(各セルの個別の値)または「list」(各行の個別の値)に置き換えます。

同時に、「worksheet」を「od6」に置き換えます(他のシートへのアクセスについては、左端またはデフォルトのシートを示します。 このブログ投稿 を参照してください)。

この新しいURLをブラウザで直接表示する の場合、意味のある値が返されることがわかります。

最終的なスクリプトタグは次のようになります。

<script src="https://spreadsheets.google.com/feeds/list/1SKI5773_68HiSve1fsz7fr4gotjFWHB7KBuVsOlLz6I/od6/public/values?alt=json-in-script&callback=importGSS"></script>

詳細については、 Google Developersサイト で例を見ることができます。

11
sfletche

このメソッドは非推奨であるため、シートデータのこのリクエストの代わりに使用することを検討してください。とにかく、あなたはまだ別のフィード形式を使用することができます、あなたはこの選択肢を見ることができます: https://spreadsheets.google.com/feeds/worksheets/your-spreadsheet-id/private/full

その結果、エクスポート形式が利用可能であることがわかります。 CSVまたは代替JSON視覚化形式を支援できますか?

1
drmartin

APISpark PaaSには、GSpreadsheetに基づいてカスタムJSONAPIを作成およびデプロイする機能があります。これにより、Web API(CORSサポート、認証、カスタムドメインなど)をより細かく制御できるようになる可能性があります。

こちらのチュートリアルをご覧ください: https://apispark.com/docs/tutorials/google-spreadsheet

1
Jerome Louvel

上記の可能な答えはたくさんあります。新しく登場する人のために、より制御されたJSONジェネレーターを探しているなら、この要点をチェックしてください:

JSONPuller

スプレッドシートを受け取り、オブジェクトの配列を返します。ヘッダーとして決定した行が含まれます(デフォルトではフリーズされた行になります)

乾杯、

0
Jorge Alcantara