在融合表中插入30多条记录时出错

时间:2015-05-04 09:13:26

标签: javascript c#

在融合表中插入30条以上的记录时出错。

下面的代码工作正常,但如果存在超过30条记录则记录

<!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 type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>
<script type="text/javascript" src="https://apis.google.com/js/client.js"></script>
    <script type="text/javascript">
        function auth() {
            var config = {
                'client_id': '607567025394-rmte05500pvsoj12dsrie1cbei5te506.apps.googleusercontent.com',
                'scope': 'https://www.googleapis.com/auth/fusiontables',
                'immediate': false
            };
            gapi.auth.authorize(config, function () {
                console.log('login complete');
                console.log(gapi.auth.getToken());
            });
        }
        function insert_row() {
            gapi.client.setApiKey('AIzaSyAnEhw4Y7n5V7bN226wWo0tHs0Bd7jAzxA');

            gapi.client.load('fusiontables', 'v1', function () {                
                var i;
                for (i = 0; i < 32; i++) {
                    var query = "INSERT INTO 1v228snvOypXSvzbtgZP_nhe_GcmBROV5G7lA0T0P(col0,col1,col2) VALUES ('a','a', 'a')"; 
                    gapi.client.fusiontables.query.sql({ sql: query }).execute(function (response) { console.log(response); });
                }
            });
        }
    </script>
</head>

<body>
<button onclick="auth();">Authorize</button>
<br />
<button onclick="insert_row();">Insert Data</button>
<br />
<button onclick="showMap();">Show Map</button>
<br />
<div id="map-canvas"></div>
</body>
</html>
  

错误:
  无法加载资源:服务器响应状态为403(禁止)   Working_Insert_FT_Sample1.htm:33 Object {code: 403, data: Array[1], message: "Rate Limit Exceeded", error: Object}

1 个答案:

答案 0 :(得分:0)

点击此处的文档:https://developers.google.com/fusiontables/docs/v1/sql-reference

SQL INSERT命令可以对多行​​进行分组,因此您只需要对服务器进行一次调用。这应该避免速率限制。只需将INSERT语句与';'连接即可分隔器。

请参阅此说明!

  

注意:您最多可以列出500个INSERT语句,以_分隔   分号,在一个请求中,只要数据的总大小确实如此   不超过1 MB并且正在添加的表格单元格的总数   不超过10,000个细胞。如果要插入大量行,   而是使用导入方法,这将更快,更可靠   而不是使用许多SQL INSERT语句。

请注意,UPDATE和DELETE语句不允许这样做!如果您需要这些,则必须对代码进行更多管道处理,例如:实施延迟和重试,并在后端完成工作。