我正在使用新的Google表格API v4将数据插入电子表格中,代码非常完美,而且数据也很好地插入到工作表中.
但如何在数据之后找出最后一行添加数据呢?
List<List<Object>> arrData = getData();
ValueRange oRange = new ValueRange();
oRange.setRange("Pedidos!AXXXXXXX"); // I NEED THE NUMBER OF THE LAST ROW
oRange.setValues(arrData);
List<ValueRange> oList = new ArrayList<>();
oList.add(oRange);
BatchUpdateValuesRequest oRequest = new BatchUpdateValuesRequest();
oRequest.setValueInputOption("RAW");
oRequest.setData(oList);
BatchUpdateValuesResponse oResp1 = mService.spreadsheets().values().batchUpdate("ID_SPREADSHEET", oRequest).execute();
Run Code Online (Sandbox Code Playgroud)
A1表示法中有一些技巧吗?
我需要一个与Google Apps脚本相同的.getLastRow
使用Google表格API v4,我希望获得附加到我的帐户的电子表格列表.我做了很多研究,但没有找到任何解决方案.
如果我想发布Google表格电子表格,以便将其嵌入到iframe中的页面上,我会手动执行以下操作:
如何使用前端的JavaScript通过Google表格API以编程方式实现上述目标?我正在我的应用程序中动态生成电子表格,并希望在创建后立即将它们嵌入到页面中.
创建工作表后,我可以动态创建具有必要属性的iframe元素(工作表ID等).这引发了一个错误.从这个问题来看,它看起来像一张表需要有一个published: true属性或东西,但这需要使用Drive API - 我试图避免这种情况.这是可能的处理只能通过Sheets API?
google-api google-sheets google-api-client google-sheets-api
我在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
在Google Apps脚本中,您可以使用该insertImage功能(https://developers.google.com/apps-script/reference/spreadsheet/sheet#insertimageblob-column-row)将图像插入Google电子表格.
但我没有使用appscript.我正在使用Google表格API(https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets),我似乎找不到办法来做到这一点.有没有可能的实施?
我正在按照教程说明如何使用Java连接谷歌表.它使用gradle来获取依赖关系
apply plugin: 'java'
apply plugin: 'application'
mainClassName = 'Quickstart'
sourceCompatibility = 1.8
targetCompatibility = 1.8
version = '1.0'
repositories {
mavenCentral()
}
dependencies {
compile 'com.google.api-client:google-api-client:1.22.0'
compile 'com.google.oauth-client:google-oauth-client-jetty:1.22.0'
compile 'com.google.apis:google-api-services-sheets:v4-rev483-1.22.0'
}
Run Code Online (Sandbox Code Playgroud)
当我从IntelliJ内部运行示例QuickStart.java类时,我可以看到周围的错误
import com.google.api.client.auth.oauth2.Credential;
import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp;
import com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver;
import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow;
import com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.util.store.FileDataStoreFactory;
import com.google.api.services.sheets.v4.SheetsScopes;
import com.google.api.services.sheets.v4.model.*;
import com.google.api.services.sheets.v4.Sheets;
Run Code Online (Sandbox Code Playgroud)
说找不到图书馆.在IntelliJ的工具栏中,我转到了文件 - >项目结构 - >依赖项,并添加了build.gradle中的3个项目.之后,围绕进口的错误消失了.当我上课时,我得到了
objc[1649]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/bin/java (0x102cf14c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x102db94e0). One of …Run Code Online (Sandbox Code Playgroud) 我正在使用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表格API创建一组行的方法 - 有没有办法做到这一点?我无法找到能够执行此操作的API,但似乎它应该是一种相当常见的格式化需求.
通过选择一组行支持此功能,右键单击并弹出选项以创建组,请参阅下面链接的屏幕截图.我只是想通过API寻找一种方法.
几年前,我将此URL公开,以作为检索数据的一种方法。昨天在工作。今天,我的网站由于依赖于此数据而崩溃,但如果我尝试以编程方式(通过axios)检索它,则google现在返回500错误。
我还创建了一个代码沙盒,并用react来演示:https ://codesandbox.io/embed/xjmy9vl2z4
但是,如果登录,我仍然可以在浏览器中查看响应。
Google最近是否更改了其API,以便不再可以这种方式检索数据?有没有一种方法可以配置我的axios请求以继续检索此数据?
更新:
在此处跟踪问题:https : //issuetracker.google.com/issues/131613284
根据支持团队的说法:“工程团队认为他们已经找到了问题的根源,并且正在回滚到以前的版本以解决问题。请稍候。”
https://issuetracker.google.com/issues/131613284#comment109
更新:
回滚到以前的版本似乎已解决了该问题。我不再遇到这些问题。上面的链接和代码沙箱示例均正常运行。阅读该论坛,似乎其他人也不再遇到问题。如果您仍然遇到问题,我建议您再开一个(也许更具体的)帖子或问题。
我目前正在尝试通过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)
我不确定如何解决此问题。任何方向将不胜感激!