从SQL API迁移到Fusion Tables v1
不推荐使用SQL API之后,搜索解决方案以从SQL API https://www.google.com/fusiontables/api/query?sql=
迁移到https://www.googleapis.com/fusiontables/v1/query?sql=
类这里
我有:
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。尝试将jsonCallback
更改为callback
– 没有帮助!
Finaly! 通过替换jQuery示例找到纯粹而简单的解决方案。 使用google-api-javascript-client
别忘了添加到head标签中
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')