标签: google-spreadsheet-api

“requests[0].delete_dimension.range.sheet_id”处的值无效(TYPE_INT32)

我正在使用 Google 电子表格 API v4。我想通过 python 脚本删除一些行。我尝试了他们的示例代码,但出现以下错误

“requests[0].delete_dimension.range.sheet_id”处的值无效(TYPE_INT32)

我的代码:

    batch_update_spreadsheet_request_body = {
    "requests": [
        {
            "deleteDimension": {
                "range": {
                    "sheetId": sheetId,
                    "dimension": "ROWS",
                    "startIndex": 0,
                    "endIndex": 3
                }
            }
        },
        {
            "deleteDimension": {
                "range": {
                    "sheetId": sheetId,
                    "dimension": "COLUMNS",
                    "startIndex": 1,
                    "endIndex": 4
                }
            }
        },
    ],
}

request = sheets_service.spreadsheets().batchUpdate(spreadsheetId=sheetId, body=batch_update_spreadsheet_request_body)
response = request.execute()
Run Code Online (Sandbox Code Playgroud)

完整的追溯

回溯(最近一次调用):文件“/home/yahia/DSP_Project_Server_Software/python_scripts/TMSA/TMSA.py”,第 70 行,在 main() 文件“/home/yahia/DSP_Project_Server_Software/python_scripts/TMSA/TMSA.py”中,第 67 行,在主响应中 = request.execute() 文件“/usr/local/lib/python2.7/dist-packages/oauth2client/_helpers.py”,第 133 行,在 positional_wrapper 中 return wrapped(*args, ** kwargs) 文件“/usr/local/lib/python2.7/dist-packages/googleapiclient/http.py”,第 840 行,在执行 raise HttpError(resp, content, …

google-sheets python-2.7 google-spreadsheet-api

3
推荐指数
1
解决办法
2304
查看次数

如何在查询公式中有多个标签?

目前我有这个公式:

   =QUERY(A:C,"select SUM(B), SUM(C) where A = date """&text("26/10/2017","yyyy-mm-dd")&""" label SUM(B) '', label SUM(C) '' ")
Run Code Online (Sandbox Code Playgroud)

如果我放第二个标签,这个公式会给我一个错误。该公式仅适用于一个选择和一个标签,但不适用于两个。

搜索时我没有找到这种方法的替代方法?

我也尝试过:

label sum SUM(B) '', SUM(C) ''
Run Code Online (Sandbox Code Playgroud)

我怎么能有多个标签,有什么想法吗?

sql google-visualization google-apps google-sheets google-spreadsheet-api

3
推荐指数
1
解决办法
6642
查看次数

通过Javascript方法从Google电子表格中获取光标行/列

2010年3月29日,Jason Hale想要使用电子表格光标位置为他正在编写的Javascript应用程序选择一个电子邮件地址 - 请参阅http://productforums.google.com/forum/#!topic/apps-script/ U10q44vptPU.受访者建议使用getActiveSelection和伴随的getRowIndex/getColumnIndex方法.不幸的是,他们没有为Hale工作,两年后当我想写一个类似的应用程序时,他们没有为我工作.光标的位置对getRowIndex和getColumnIndex没有影响.这些方法总是返回1,这是无用的,可能是一个bug.Google Apps缺少游戏服务,例如Python提供的服务.有没有人发现Google Apps返回的内容可能在此上下文中有用?

javascript google-sheets google-apps-script google-spreadsheet-api

2
推荐指数
2
解决办法
2万
查看次数

访问电子表格时锁定脚本不起作用

我的问题是如何确保在并发访问时不会丢失任何数据.

我将脚本发布为web-app.我想在DATA_SHEET中添加新行.处理提交按钮的功能如下所示:

function onButtonSubmit(e) {
  var app = UiApp.getActiveApplication();
  var lock = LockService.getPublicLock();
  while (! lock.tryLock(1000))
    ;
  var ssheet = SpreadsheetApp.openById(SHEET_ID);
  var sheet = ssheet.getSheetByName(DATA_SHEET);
  var lastRow = sheet.getLastRow();
  var lastCol = sheet.getLastColumn();
  var rangeToInsert = sheet.getRange(lastRow+1, 1, 1, lastCol);
  var statText = rangeToInsert.getA1Notation();
  rangeToInsert.setValues(<some data from webapp form>);
  app.getElementById('statusLabel').setText(statText);
  lock.releaseLock();
  return app;
}
Run Code Online (Sandbox Code Playgroud)

但似乎这不起作用.当我打开两个表单并在一秒钟内单击"提交"按钮时,它会在statsLabel中显示相同的范围并将数据写入相同的范围.所以我从一个表单中丢失了数据.

这段代码有什么问题?似乎tryLock()不会阻止脚本.

有没有其他方法可以防止对工作表的并发写访问?

concurrency google-apps-script google-spreadsheet-api

2
推荐指数
1
解决办法
1062
查看次数

在Python中迭代和打印JSON对象

我有一个Google Spreadsheet,我想用Python获取,然后通过JSON处理它.它已经完成了一半,在浏览Stackoverflow几个小时后,我认为是时候提问了.

例如,JSON文件的格式如下所示(来自https://developers.google.com/gdata/docs/json).

{
  "version": "1.0",
  "encoding": "UTF-8",
  "feed": {
    "xmlns": "http://www.w3.org/2005/Atom",
    "xmlns$openSearch": "http://a9.com/-/spec/opensearchrss/1.0/",
    "xmlns$gd": "http://schemas.google.com/g/2005",
    "xmlns$gCal": "http://schemas.google.com/gCal/2005",
    "id": {"$t": "..."},
    "updated": {"$t": "2006-11-12T21:25:30.000Z"},
    "title": {
      "type": "text",
      "$t": "Google Developer Events"
    },
    "subtitle": {
      "type": "text",
      "$t": "The calendar contains information about upcoming developer 
       conferences at which Google will be speaking, along with other 
       developer-related events."
    },
    "link": [{
      "rel": "...",
      "type": "application/atom+xml",
      "href": "..."
      },{
      "rel": "self",
      "type": "application/atom+xml",
      "href": "..."
    }],
    "author": [{
      "name": {"$t": …
Run Code Online (Sandbox Code Playgroud)

python json google-sheets google-spreadsheet-api python-requests

2
推荐指数
1
解决办法
3万
查看次数

Google Spreadsheet API错误

我正在尝试使用python脚本访问google docs中的电子表格.但是在执行以下"标准"示例时,我总是会遇到错误:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import time
import gdata.spreadsheet.service

if __name__ == "__main__":

    email = 'email@gmail.com'
    password = 'secret'
    weight = '180'
    # Find this value in the url with 'key=XXX' and copy XXX below
    spreadsheet_key = '0AiKRVC_dEsdfafdC1Id2FGdGVMR1pHb3E4UGlmbUYxS1E'
    # All spreadsheets have worksheets. I think worksheet #1 by default always
    # has a value of 'od6'
    worksheet_id = 'od6'

    spr_client = gdata.spreadsheet.service.SpreadsheetsService()
    spr_client.email = email
    spr_client.password = password
    spr_client.source = 'Example Spreadsheet Writing Application'
    spr_client.ProgrammaticLogin()

    # Prepare …
Run Code Online (Sandbox Code Playgroud)

python google-spreadsheet-api

2
推荐指数
1
解决办法
2239
查看次数

如何在电子表格中定义标题以获取来自Google电子表格API的JSON响应中的gsx $ title属性?

我打算使用Google电子表格API从电子表格中获取数据,并使用Sencha Touch在我的移动应用中呈现它.我见过很少的博客和教程解释了如何获取和解析数据,但是当我尝试相同的时候,我没有将列智能数据作为entry对象中的属性,而是在content标记中获得逗号分隔的数据.

举个例子,这里是示例电子表格,其中我有更改标题和数据:

https://docs.google.com/spreadsheet/ccc?key=0AkEOCoTxRKgvdDRZUnViSFlOVUF0QUJybkZ6VlBwTkE#gid=0

这是它的饲料:

https://spreadsheets.google.com/feeds/list/0AkEOCoTxRKgvdDRZUnViSFlOVUF0QUJybkZ6VlBwTkE/od6/public/values?alt=json

但是当我创建了同一个电子表格手工从头开始,我没有得到gsx$namegsx$processedlinkurl在JSON属性.这是这张表:

https://docs.google.com/spreadsheet/ccc?key=0AgduEz3vmQUTdHZlSEI4bjN6VnZ5TVpRMFlyOVAtR0E#gid=0

这是JSON:

https://spreadsheets.google.com/feeds/list/0AgduEz3vmQUTdHZlSEI4bjN6VnZ5TVpRMFlyOVAtR0E/od6/public/basic?alt=json

要将第一行标记为标题我已经冻结了我的工作表中的第一行仍然JSON没有在JSON中给我标题明智的数据.

json google-sheets google-spreadsheet-api google-drive-api

2
推荐指数
1
解决办法
1852
查看次数

为什么我在运行Google Spreadsheet API脚本时看到"引用错误:"日历"未定义"?

我在原始Google电子表格的克隆中制作了一个有效的绑定脚本,并在几天的时间内组合在一起.

然后我将我的公式复制到新的电子表格中.

突然之间,即使我认为我没有对任何相关代码进行任何更改,我也看到了"引用错误:"日历"未定义为谷歌API".

我有很多代码,所以很难将其全部粘贴,但相关部分在这里:

var start = (passed as argument to function);
  var end = (passed as argument to function);
  var calendarId = 'redacted'//source calendar 
  var optionalArgs = {
    timeMin: start.toISOString(),
    timeMax: end.toISOString(),
    showDeleted: false,
    singleEvents: true,
    maxResults: null,
    orderBy: 'startTime'
  };
  var response = Calendar.Events.list(calendarId, optionalArgs);
Run Code Online (Sandbox Code Playgroud)

google-calendar-api google-spreadsheet-api

2
推荐指数
1
解决办法
3939
查看次数

如何在创建工作表后填写Google电子表格中的数据?

我有一个脚本,创建一个空的谷歌电子表格.创建谷歌电子表格后.我怎么能在里面添加一些数据?

只是一些字符串就足够了

用于创建文件的脚本:

function createSpread() 
{

                var name =   $('[name=id]').val();
                gapi.client.load('drive', 'v2', function() {

                var request = gapi.client.request({
                   'path': '/drive/v2/files/',
                   'method': 'POST',
                   'headers': {
                       'Content-Type': 'application/json',   
                   },
                   'body':{
                       "title" : name,
                       "mimeType" : "application/vnd.google-apps.spreadsheet",
                       "parents": [{
                            "kind": "drive#file",
                            "id": FOLDER_ID,
                        }],
                   } 
                });
                request.execute(function(resp) { console.log(resp)

                });     
            }); 
}
Run Code Online (Sandbox Code Playgroud)

你能帮助别人吗?

提前致谢

javascript google-sheets google-spreadsheet-api google-drive-api

2
推荐指数
1
解决办法
918
查看次数

使用公式更新单元格值会在Sheets API中产生撇号前缀

现在,我正在使用gspread和Google Sheets API更新单元格值,并将其设置为cell.value等于特定公式的字符串。

示例代码:

# Calculates sum of cells in current row from column B to H
G_SHEETS_ROW_SUM_COMMAND = '''=SUM(INDIRECT(CONCATENATE("B",ROW(),":H",ROW())))'''

for cell in cell_list:
    cell.value = G_SHEETS_ROW_SUM_COMMAND
Run Code Online (Sandbox Code Playgroud)

但是,当我填写电子表格时,我的命令前面会带有撇号(大概是为了防止该单元格被解释为公式,尽管这正是我想要的操作)。

这是我的电子表格中的一个示例:

在此处输入图片说明

有没有一种方法可以自动删除此撇号?

我研究了值呈现选项和input_value,尽管这些选项似乎不适用于写入工作表。

python google-spreadsheet-api gspread google-sheets-api

2
推荐指数
2
解决办法
1360
查看次数