2012-07-14 105 views
0

SQL API被弃用的搜索解决方案后,以从SQL API https://www.google.com/fusiontables/api/query?sql=https://www.googleapis.com/fusiontables/v1/query?sql=迁移像here
从SQL API迁移到Fusion Tables的V1

我:

var URLHead = 'https://www.google.com/fusiontables/api/query?sql=' 
var URLTable = encodeURI('SELECT id,COUNT() FROM TABLE_ID') 
var URLTail = '&access_token='+ TOKEN +'&jsonCallback=?' 
var queryURL = URLHead + URLTable + URLTail 
var jqxhr = $.get(queryURL, myFT.TABLE, "jsonp") 

this.myFT.TABLE = function (DATA) { 
    var counter = parseInt(DATA.table.rows[0].toString().substr(1)) 
    alert(counter) 
} 

我需要:

var URLHead = 'https://www.googleapis.com/fusiontables/v1/query?sql=' 
var URLTable = encodeURI('SELECT id,COUNT() FROM TABLE_ID') 
var URLTail = '&access_token='+ TOKEN +'&jsonCallback=?' 
var queryURL = URLHead + URLTable + URLTail 
var jqxhr = $.get(queryURL, myFT.TABLE, "jsonp") 

this.myFT.TABLE = function (DATA) { 
    var counter = parseInt(DATA.table.rows[0].toString().substr(1)) 
    alert(counter) 
} 

看起来它不是那么容易迁移从SQL API/fusiontables/v1/对我来说。

编辑: 1.尝试改变jsonCallbackcallback - 没有帮助!

回答

1

Finaly!通过替换jQuery示例找到纯粹简单的解决方案。与google-api-javascript-client
不要忘记添加到head标签
<script src="https://apis.google.com/js/client.js?onload=load"></script>

myTable1 = new FT('table1_id') 
myTable1.run('SELECT * FROM ', myTable1, ' ORDER BY id ASC ') 

function FT(table_id) 
{ 
    this.counter = 0 
    this.table = table_id 
    // 
    gapi.client.setApiKey('Api_Key') 
    // 
    this.run = function (q, cls, order) 
    { 
    gapi.client.load('fusiontables', 'v1', function(){ 
     var request = gapi.client.fusiontables.query.sqlGet({'sql': q + cls.table + order}); 
     request.execute(function(DATA){cls.exec(DATA)}); 
    }); 
    } 
    // 
    this.exec = function (DATA) 
    { 
    alert(DATA.result.rows.length) 
    } 
} 

编辑:

或者干脆就像在上面的变化第一例该
var URLTable = encodeURI('SELECT id,COUNT() FROM TABLE_ID')
这个
var URLTable = encodeURI('SELECT COUNT() FROM TABLE_ID')