javascript - Google Fusion Tablesで変更を行うことができません(挿入、テーブルの追加など)

javascript post http-post google-fusion-tables

中央のデータベースとしてgoolesフュージョンテーブルを使用する小さなGoogle Chrome拡張機能を記述したいと思います。

(GooleDoc-Websideを介して追加された)既存のテーブルとデータの使用は非常にうまく機能しますが(SELECT、SHOW TABLES、DESCRIBE)、変更を行おうとすると(これには "POST"リクエストが必要です)。 「SQLパラメータがありません」というエラーが常に表示されます。なぜこれが起こるのか私にはわからない。私はすでにたくさん試しました(例えば「create table test3(A:number、B:number)」、insert。)

私が書いたコードは次のとおりです。

function Fusion(readyCallback) {
    var myObject = {
        URL : "https://www.google.com/fusiontables/api/query",
        authToken : null,
        doGET : function(command,callback) {
            var xmlhttp = new XMLHttpRequest();
            xmlhttp.open("get"
                        ,this.URL+"?sql="+encodeURI(command)
                        ,true);
            xmlhttp.setRequestHeader("Authorization"
                                    ,"GoogleLogin auth=" + this.authToken);
            xmlhttp.onreadystatechange = function() { callback(xmlhttp.responseText); }
            xmlhttp.send();
        },
        doPOST : function(command,callback) {
            var xmlhttp = new XMLHttpRequest();
            xmlhttp.open("post"
                        ,this.URL
                        ,true);
            xmlhttp.setRequestHeader("Authorization"
                                    ,"GoogleLogin auth=" + this.authToken);
            xmlhttp.onreadystatechange = function() { callback(xmlhttp.responseText); }
            xmlhttp.send("sql="+encodeURI(command));
        }
    }
    // client login authentification
    var email    = "XXX@gmail.com";
    var password = "XXX";
    var loginURL = "https://www.google.com/accounts/ClientLogin?accountType=GOOGLE&Email="
              + encodeURI(email) + "&Passwd=" + encodeURIComponent(password) 
              + "&service=fusiontables&Source=testing";
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.open("get",loginURL,true);
    xmlhttp.onreadystatechange = function() {
        var tmp = xmlhttp.responseText;
        tmp = tmp.slice(tmp.search("Auth=") + 5, tmp.length);
        tmp = tmp.replace(/\n/g, "");
        tmp = tmp.replace(/\r/g, "");
        myObject.authToken = tmp;
        console.log("authentifiaction token status: "+xmlhttp.statusText);
        if (readyCallback) {
            readyCallback();
        }                                  
    };
    xmlhttp.send();

    return myObject;
}


例えば私がこのようなことをやろうとすると

mf.doPOST("INSERT INTO 2664928(ID,Text,Number) VALUES (2,'Hallo',3)",mc)


またはこれ

mf.doPOST("INSERT INTO 2664928(col4,col0,col1) VALUES (2,'Hallo',3)",mc)


これで説明されたテーブル付き

column id,name,type
col4,ID,number
col0,Text,string
col1,Number,number


このエラーが発生し続けます(テーブルを作成しようとしたときも同じです)

助言がありますか?私は本当に混乱しています!
答え
「不足しているSQLパラメータ」に関するメッセージ。本当のエラーではないようです。

問題を正しく理解したところ、現時点ではJavaScriptを使用してFusion TablesにデータをPOSTすることができません。 GFTがPOSTリクエストの適切なCORSヘッダーに送信する場合、実際に機能する可能性があります。しかし、今のところそうではありません。

問題554(http://code.google.com/p/fusion-tables/issues/detail?id=554)を参照してください。
関連記事

javascript - Dojoスパイダーチャートの固定軸

c# - ASP.NET MVC3、Razor-JavaScriptでのViewBagまたはURL変数の使用

javascript - jQueryを使用してiframe URLを変更する

javascript - リスト項目をdivの上に表示する

javascript - d3.jsデンドログラム:クリックしてノードの表示を切り替える方法

javascript - JSON.parseをオブジェクト配列に

javascript - FacebookアプリケーションのキャンバスページからWebページにユーザーを移動する方法

javascript - jQueryのスクロールDIVがジャンプして正しく配置されない

javascript - 特定のタグにJavaScriptファイルを含める方法は?

javascript - jquery show tips関数がWebkitベースのブラウザーで機能しない