24

ユーザーが自分の Google スプレッドシートにデータをプッシュできるようにしたい Web アプリケーションに取り組んでいます。

まず、JavaScript 用の Google API クライアント ライブラリを使用しようとしましたが、スプレッドシート API ( https://developers.google.com/apis-explorer/#p/ )をカバーしていないようです。

次に、 Google Spreadsheets API バージョン 3.0を直接使用することにしました。jQueryと を使用して、ユーザーのスプレッドシートを取得できましたJSONP

$.ajax({
  url: 'https://spreadsheets.google.com/feeds/spreadsheets/private/full?alt=json-in-script&access_token=' + access_token,
  dataType: 'JSONP',
  success: function(data){
    // use the spreadsheets
  }
});

同じ方法で、ユーザーが選択したスプレッドシートからシートを取得します。次にPOST、選択したシートにデータを送信する必要があります。ここで問題が発生します: を使用してそれを行うことはできませんJSONP。また、Google サーバーは をサポートしていないようCORSです。ブラウザに次のエラーが表示されます。

XMLHttpRequest cannot load https://spreadsheets.google.com/feeds/... Origin ..mysite.. is not allowed by Access-Control-Allow-Origin.

ご検討いただきありがとうございます。

4

2 に答える 2

42

スクリーンショット付きの段階的な説明

Martin Hawskey優れた紹介 ( HTML フォームから Google スプレッドシートにデータを送信する方法)を読み、いくつかのギャップ/仮定を確認した後、少数の人々が持っている段階的な手順を含む詳細/包括的なチュートリアルを作成することにしました。役に立つことがわかった:

https://github.com/dwyl/ html -form- send -email-via- google-script -without-server

このスクリプトは、送信されHTTP POSTたデータを Google スプレッドシートに保存し、必要に応じてコンテンツをメール アドレスに転送します。(新しいデータの通知を受け取りたい場合に便利です)

HTML フォーム:

お問い合わせフォーム

結果 (シートの行):

シートの行

それが他の人に役立つことを願っています。

于 2016-06-09T15:30:54.967 に答える
26

私もこれを約8ヶ月調べていました。Martin Hawskey が書いたブログ記事を偶然見つけました。こちらのガイドに従って、スプレッドシートに投稿する HTML フォームを設定することができました。

事実上、データを受信できるスプレッドシート内に公開された Web アプリを設定します。CORS の問題を回避するには、ページ上の非表示の iframe をターゲットにします。この投稿のコードを複製しますが、かなりの量があります。

デモ

これを見始めたときに与えられたらよかったと思うアドバイスをいくつか提供します。できれば... 使用できる PHP サーバーをセットアップしてみてください。データの投稿は、はるかに簡単で柔軟です。私は今、Zend GDataを仕事で熱心に使用しており、もっと早く見つけていればよかったと思います :)

編集

Marting Hawskey は、非表示の iframe を使用せずに AJAX 送信をサポートするようにこれを更新しました。ここ を参照してください

于 2013-11-11T23:48:28.220 に答える