0

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助けにはなりません!

4

1 に答える 1

1

最後に!jQueryの例を置き換えることで、純粋でシンプルなソリューションを見つけました。with 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')

于 2012-07-31T19:48:58.810 に答える