update Google fusiontable using oauth token?

被刻印的时光 ゝ 提交于 2019-12-12 05:58:36

问题


I already have the token and can access my token whose scopes are till 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>

But the problem is that i am unable to use that token to update the fusion table. I want to update it specifically by using JavaScript.

can some one provide me the code to use this token to update fusiontable using the fusion table sql


回答1:


You should use the JavaScript Google API client, then it is very easy to make authenticated requests to a Google API (see their "Samples" page):

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);});
        });



回答2:


I know most of you are suffering for google auth and inserting and updating fusion table. I am providing the entire code how to use the gauth lib to insert in a simple manner

<!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>


来源:https://stackoverflow.com/questions/13626107/update-google-fusiontable-using-oauth-token

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!