标签: google-sheets-api

使用适用于Android的Google文档和Google电子表格API

我打算使用Google文档列表和Google文档电子表格API将我的应用程序中的数据库上传到电子表格然后进行编辑.

我只是想知道这些API是否是使用Google文档作为我在我的应用中收集的数据的在线存储空间的正确方法.

我希望我能从你们这些可能有过这方面经验的人那里获得反馈.

两个API的链接如下所示:

http://code.google.com/apis/documents/

http://code.google.com/apis/spreadsheets/

提前致谢!

java android google-apps google-sheets google-sheets-api

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

使用应用脚本将Google电子表格数据导入Google表单

我搜索了互联网,我找不到对此的回复,也没有找到它的文档.我需要使用应用程序脚本使用Google电子表格中的数据动态生成Google表单问题,但我不知道如何引用和阅读电子表格.

javascript google-sheets google-apps-script google-forms google-sheets-api

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

使用Java通过API写入GoogleSheet

我正在尝试使用带有Java的Google Sheet API将值写入单元格.为了阅读,我使用了Java Quickstart的指南,它对我来说很好.

要写入Google表格,我使用:

service.spreadsheets().values().update(spreadsheetId, "Sheet1!A4:H", response).execute();
Run Code Online (Sandbox Code Playgroud)

运行时此函数输出以下错误:

com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
  "code" : 403,
  "errors" : [ {
    "domain" : "global",
    "message" : "Request had insufficient authentication scopes.",
    "reason" : "forbidden"
  } ],
  "message" : "Request had insufficient authentication scopes.",
  "status" : "PERMISSION_DENIED"
}
Run Code Online (Sandbox Code Playgroud)

作为我正在使用的身份验证范围

private static final List<String> SCOPES = Arrays.asList(SheetsScopes.SPREADSHEETS);
Run Code Online (Sandbox Code Playgroud)

java google-api google-api-java-client google-sheets-api

9
推荐指数
1
解决办法
3713
查看次数

使用带有 Google 表格的 BigQuery API 时出现“通配文件模式时遇到错误”错误

尝试从 BigQuery API 访问联合源(Google 表格)时,会引发以下错误:

[..]
 "errorResult" : {
      "location" : "/gdrive/id/<removed_file_id>",
      "message" : "Encountered an error while globbing file pattern.",
      "reason" : "invalid"
    }
[..]
Run Code Online (Sandbox Code Playgroud)

BigQuery 中的表设置为指向此文件。它通过 Web UI 工作。只有在尝试通过 API 查询表时,它才会因上述错误而窒息。

我猜这与权限有关。需要做什么才能允许从作为联合源(指向 Google 表格)的 API 访问 BigQuery 表?

google-drive-api google-bigquery google-sheets-api

9
推荐指数
1
解决办法
7993
查看次数

我的Google Apps脚本如何由其他人共享?

我有一个适用于我的Google Apps脚本.与表共享的其他人试图使用它获取消息:

您无权执行该操作.请让此项目的所有者授予您访问权限.

该脚本用于使用新的数据行更新现有工作表.它是使用添加到UI的菜单项触发的,并执行以下操作:

  • 在GDrive文件夹中查找.xlsx文件(此文件由Web服务导出并由我们手动放入GDrive文件夹,我们无法控制文件的内容或其格式)
  • 使用UrlFetchApp将文件从.xlsx转换为.gsheet(uploadType = media&convert = true)
  • 使用UrlFetchApp更改生成的.gsheet的文件名和文件夹位置.文件夹位置现在与.xlsx文件的位置匹配(使用UrlFetchApp转换文件时,生成的文件似乎放在GDrive的根目录中)
  • 使用DriveApp获取.gsheet,然后打开它以供脚本访问
  • 使用列标题将.gsheet中的所有数据存储到2d数组中,作为行中每个元素的键
  • 将目标表中现有数据的所有ID值(唯一)存储到1d数组中
  • 比较两个数组并从2d数组中删除包含与1d数组中的ID匹配的ID的所有行,仅在2d数组中保留新数据
  • 循环遍历2d数组的每一行,然后遍历目标工作表的每一列,将数据从2d数组行添加到目标工作表中数据底部的新行,使用列标题的值作为键每个元素

我知道代码没有问题,因为它适用于我,所以它一定是权限问题,但我无法弄清楚如何.工作表与它们共享,存储文件的GDrive文件夹与它们共享.当我第一次自己运行脚本时,我必须授予脚本访问GDrive文件夹的权限,这显然已经完成了.

我是我们小组的开发人员,而不是数据的用户,但是我必须运行脚本来为用户每次需要时更新数据,而不是仅仅自己做,这是...烦人.

任何帮助,试图找出问题在这里的位置非常感谢.

编辑:再次阅读它,我发现当文件转换时,首先它保存到GDrive根,这就是为什么我必须更改文件夹.作为根,它不与该文件的用户共享.这可能是原因吗?如果是这样,我怎么能解决这个问题呢?我可以在转换时指定应将结果文件保存到哪个文件夹吗?

google-sheets google-apps-script google-drive-api google-sheets-api

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

如何在 Google 表格中使用 .gs 脚本打印工作表/范围?

我正在尝试在 Google Sheets 中创建一个脚本来选择一个范围并打印它。我正在尝试根据一些参数打印一些信息。我有以下脚本来设置所需的范围,但我没有找到使用脚本打印它的方法。

function printInvoice() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var range = sheet.getRange("A1:H46");

  range.activate();
}
Run Code Online (Sandbox Code Playgroud)

有什么建议么?谢谢!

google-sheets google-sheets-api

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

如何从Google Sheet API导出csv?

我找不到任何API,它使Rest API客户端能够将现有的Google表格导出到csv文件.

https://developers.google.com/sheets/

我相信应该有一种出口方式.

google-sheets r-googlesheets google-sheets-api

8
推荐指数
4
解决办法
1万
查看次数

使用Sheets API v4(Java)获取Google表格上次编辑日期

我在Android中使用Google表格API v4.

https://developers.google.com/sheets/api/quickstart/android

我需要知道最后一次修改工作表的时间(包括用户); 我需要这个人:

在此输入图像描述

我想做这样的事情:

    Spreadsheet spreadsheet = sheetsService.spreadsheets().get(spreadsheetId).setIncludeGridData(true).execute();
    Date date = spreadsheet.getProperties().getLastEditDate();
Run Code Online (Sandbox Code Playgroud)

但是,当然,不getLastEditDate()存在这样的属性方法.是否有参数或其他API方法来调用以获取此数据?

更好的方法是获取每个单元格的修改日期......但我会考虑整个电子表格或表格的日期.

google-api google-sheets google-drive-android-api google-sheets-api

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

调用Sheet API时,获取"此操作会增加工作表中单元格的数量超过2000000单元格的限制"

我正在使用Google表格V4 附加API将数据插入到新创建的工作表中.我插入1000行和1001列的数据,即1001000个单元格.

String url = https://sheets.googleapis.com/v4/spreadsheets/<spreadSheetId>/values/<workSheetName>!A1:append?access_token=<accessToken>&valueInputOption=USER_ENTERED&insertDataOption=INSERT_ROWS
    //CREATING THE REQUEST BODY
reqBody.put("range", <workSheetName>+"!A1");
reqBody.put("majorDimension", "ROWS");
reqBody.put("values", <values>);
Run Code Online (Sandbox Code Playgroud)

我收到400 Bad Request消息:"此操作会使工作表中的单元格数量增加到超过2000000个单元格的限制."

我知道谷歌每张纸有200万个单元格限制,但我无法找出为什么我得到这个例外,特别是因为我没有超出限制.

有关为什么会出现此错误的任何帮助?

google-spreadsheet-api google-sheets-api

8
推荐指数
1
解决办法
1281
查看次数

使用Python访问Google Sheets Api

我目前正在尝试通过python更新Google表格,但遇到权限方面的一些问题。

我一直在遵循Twilio指南中的说明:https://www.twilio.com/blog/2017/02/an-easy-way-to-read-and-write-to-a-google-spreadsheet- in-python.html

我正在Jupyter中完成所有这些工作,并且确实将JSON文件保存到了正确的代码目录中。我没有定义范围,信誉和客户的问题。

import gspread
from oauth2client.service_account import ServiceAccountCredentials

scope = ['https://spreadsheets.google.com/feeds']
creds = ServiceAccountCredentials.from_json_keyfile_name('client_id.json', scope)
client = gspread.authorize(creds)

sheet = client.open("MixIQ Tracker").sheet1
Run Code Online (Sandbox Code Playgroud)

我已经完成了链接两者的所有步骤,但是最后一行却出现了此API错误。

APIError: {
"error": {
  "errors": [{
      "domain": "global",
      "reason": "insufficientPermissions",
      "message": "Insufficient Permission: Request had insufficient authentication scopes."
    }],
  "code": 403,
  "message": "Insufficient Permission: Request had insufficient authentication scopes."
 }
}
Run Code Online (Sandbox Code Playgroud)

我不确定如何解决此问题。任何方向将不胜感激!

python google-sheets-api

8
推荐指数
1
解决办法
1800
查看次数