0

我已经拥有令牌并且可以访问我的令牌,其范围是直到 fusiontable。 http://www.udayan2k12.com/token.html

<script type="text/javascript">
   (function() {
     var GOOGLE_AUTH_URL = "https://accounts.google.com/o/oauth2/auth";
     var GOOGLE_CLIENT_ID = "365219651081-7onk7h52kas6cs5m17t1api72ur5tcrh.apps.googleusercontent.com";
     var PLUS_ME_SCOPE = "https://www.googleapis.com/auth/fusiontables";

     var button = document.createElement("button");
     button.innerText = "Authenticate with Google";
     button.onclick = function() {
       var req = {
         "authUrl" : GOOGLE_AUTH_URL,
         "clientId" : GOOGLE_CLIENT_ID,
         "scopes" : [ PLUS_ME_SCOPE ],
       };
       oauth2.login(req, function(token) {
         alert("Got an OAuth token:\n" + token + "\n"
             + "Token expires in " + oauth2.expiresIn(req) + " ms\n");
             document.getElementById('token').innerHTML = token;
       }, function(error) {
         alert("Error:\n" + error);
       });
     };
     document.body.appendChild(button);

     var clearTokens = document.createElement("button");
     clearTokens.innerText = "Clear all tokens";
     clearTokens.onclick = oauth2.clearAllTokens;
     document.body.appendChild(clearTokens);
   })();
  </script>

但问题是我无法使用该令牌来更新融合表。我想通过使用 JavaScript 来专门更新它。

有人可以提供我使用此令牌使用融合表 sql 更新 fusiontable 的代码吗

4

2 回答 2

2

您应该使用JavaScript Google API 客户端,然后很容易向 Google API 发出经过身份验证的请求(请参阅他们的“示例”页面):

gapi.client.setApiKey('YOUR API KEY');
var query = "INSERT INTO tableId (id, name) VALUES (1, 'test')";
gapi.client.load('fusiontables', 'v1', function(){
            gapi.client.fusiontables.query.sql({sql:query}).execute(function(response){console.log(response);});
        });
于 2012-11-30T10:24:46.557 回答
0

我知道你们中的大多数人都在为 google auth 以及插入和更新融合表而受苦。我正在提供整个代码如何使用 gauth lib 以简单的方式插入

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Authorization Request</title>
<script src="https://apis.google.com/js/client.js"></script>
    <script type="text/javascript">
      function auth() {
        var config = {
          'client_id': '365219651081-7onk7h52kas6cs5m17t1api72ur5tcrh.apps.googleusercontent.com',
          'scope': 'https://www.googleapis.com/auth/fusiontables'
        };
        gapi.auth.authorize(config, function() {
          console.log('login complete');
          console.log(gapi.auth.getToken());
        });
      }
      function insert_row(){
            alert("insert called");
            gapi.client.setApiKey('AIzaSyA0FVy-lEr_MPGk1p_lHSrxGZDcxy6wH4o');

            var query = "INSERT INTO 1T_qE-o-EtX24VZASFDn6p3mMoPcWQ_GyErJpPIc(Name, Age) VALUES ('Trial', 100)";

            gapi.client.load('fusiontables', 'v1', function(){
                gapi.client.fusiontables.query.sql({sql:query}).execute(function(response){console.log(response);});
            });

        }
    </script>
</head>

<body>
<button onclick="auth();">Authorize</button>
<p>&nbsp;</p>
<button onclick="insert_row();">Insert Data</button>
</body>
</html>
于 2012-12-03T16:50:30.827 回答