我必须与 50 个不同的人共享 50 个私人 Google 电子表格。我已经在其他电子表格中列出了这些电子表格的 URL 和这些人的电子邮件,假设在 A 列(URL 列表)和 B 列(电子邮件列表)中。
我尝试使用脚本将这些 URL 发送到列出的电子邮件,但它不起作用,因为存在共享权限的障碍。
所以,我想知道是否有任何脚本可以自动设置这些电子邮件的“可以编辑”共享权限?
非常感谢。
现在我正在使用它从工作表中获取数据。
fetch('https://sheets.googleapis.com/v4/spreadsheets/DOC_ID/values/!A2:Z999?key=API_KEY')
.then(function(response) {
return response.json();
}).then(function(json) {
console.log(json)
});
Run Code Online (Sandbox Code Playgroud)
结果我得到了一个值数组 - 行。
[Row Name1,Row Name2,Row Name3,],
[val11, val12, val13],
[val21, val22, val23],
[val31, val32, val33]
Run Code Online (Sandbox Code Playgroud)
有没有办法将其作为 key->value json 获取?像这个:
{
"Row Name1":"val11",
"Row Name2":"val12",
...
},
{
"Row Name1":"val21",
"Row Name2":"val22",
...
},
Run Code Online (Sandbox Code Playgroud)
谢谢
当我在脚本中读取时,F 列有一个公式值,显示 #N/A。
下面是一个非常简单的脚本代码,但我无法理解为什么它显示#N/A,我没有实现任何触发器。
var spreadsheet =
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var values = spreadsheet.getDataRange().getValues();
Logger.log(values[1][0]);
Logger.log(values[1][5]);
Run Code Online (Sandbox Code Playgroud)
https://docs.google.com/spreadsheets/d/18EsMMrC1IbzkZaIb5aIx3OfwvN1VzdmHm5B-YVuCMs4/edit?usp=sharing
我正在尝试创建一个可以访问云端硬盘文件夹的 Google 服务帐户,以便我可以使用google-spreadsheets读取和写入该文件夹中的文件。在开发过程中,我在我的非托管 Google 帐户下创建了一个服务帐户。用户帐户具有所有者访问权限。为了获得访问权限,我需要将文档共享设置更改为公开(具有链接访问权限)。对于开发来说这不是问题,但当然在生产中我不希望我的数据被公开访问。
如何确保服务帐户可以访问未公开共享的文档(首选在组织内共享)?将其设置为仅组织访问权限时,API 会向我提供 403(禁止)代码。
我有谷歌电子表格,其中绑定了谷歌脚本(.gs 文件)。当我从 Google 云端硬盘下载它们时,仅下载 csv 或 xlsx。不会下载关联的脚本文件(.gs 文件)。不过,可以从 Google Drive 下载独立脚本。如何备份绑定到 Google 电子表格的 Google 脚本(.gs 文件)?如何下载它们?
我想使用 Google Analytics API 在 Google Sheets 中创建报告 - 更准确地说,是导入电子商务购物行为分析中的数据。
具体来说,以下数据似乎无法作为指标/维度:
- 不添加购物车 - 添加到购物车的会话 - 放弃购物车 - 结帐的会话 - 放弃结帐
我还注意到,“添加到购物车的产品”和“添加到购物车的数量”(以指标为单位)不会将数据呈现为唯一的 - 即会话中唯一的“添加到购物车”,而是给定维度的“添加到购物车”总数。
简而言之,我如何通过 Google Analytics API/Google Sheets 中的报告访问 GA 中电子商务购物行为数据中提供的信息。
我尝试添加一张新表,但我不明白该怎么做。请帮帮我...
谢谢。
Google 表格示例代码 https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/batchUpdate
AddSheetRequest https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/request#AddSheetRequest
package main
// BEFORE RUNNING:
// ---------------
// 1. If not already done, enable the Google Sheets API
// and check the quota for your project at
// https://console.developers.google.com/apis/api/sheets
// 2. Install and update the Go dependencies by running `go get -u` in the
// project directory.
import (
"errors"
"fmt"
"log"
"net/http"
"golang.org/x/net/context"
"google.golang.org/api/sheets/v4"
)
func main() {
ctx := context.Background()
c, err := getClient(ctx)
if err != nil {
log.Fatal(err)
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Ruby API 更新 Google Sheet(这只是 SheetsV4 API 的包装器)
我遇到以下错误
Google::Apis::ClientError: badRequest: Range ('MySheet'!AA1) 超出网格限制。最大行数:1000,最大列数:26
我在 google 论坛上找到了这个问题的参考资料,但是除了使用不同的方法写入电子表格之外,似乎没有解决该问题的方法。
问题是,我需要复制现有的电子表格模板,并在各种工作表中输入我的原始数据。到目前为止,我一直在使用此代码(serviceRuby SheetsV4 API 的客户端在哪里)
def write_table(values, sheet: 'Sheet1', column: 1, row: 1, range: nil, value_input_option: 'RAW')
google_range = begin
if range
"#{sheet}!#{range}"
elsif column && row
"#{sheet}!#{integer_to_A1_notation(column)}#{row}"
end
end
value_range_object = ::Google::Apis::SheetsV4::ValueRange.new(
range: google_range, values: values
)
service.update_spreadsheet_value(spreadsheet_id,
google_range,
value_range_object,
value_input_option: value_input_option
)
end
Run Code Online (Sandbox Code Playgroud)
到目前为止,它运行得很好,但是在向我的提取物中添加了更多数据之后,我浏览了第 26 列(AA向前的列),现在出现错误。
是否有一些选项可以传递给update_spreadsheet_value我们可以提高这个限制?
否则,使用 append 写入电子表格的另一种方法是什么?
编辑 - 对我的场景的清晰描述 …
嗨,我想使用 gspread 清除谷歌表中的 A3:J10000 范围。
做这样的循环需要太多时间:
for cell in range_to_clear:
cell.value=''
sh.worksheet('WorksheetX').update_cells(range_to_clear,value_input_option='USER_ENTERED')
Run Code Online (Sandbox Code Playgroud)
我找到了 values_clear() 方法,但无法使其工作:
range_2_delete = sh.worksheet("WorksheetX").range("A3:J10000")
sh.values_clear(range_2_delete)
Run Code Online (Sandbox Code Playgroud)
上面的代码给出了这个错误:AttributeError: 'list' object has no attribute 'encode'
我正在尝试使用 Google 表格下载一些报告。
所以基本上我正在使用 UrlFetchApp用来做这项工作的,它会在 1 分钟内收到响应时执行。如果响应时间超过一分钟,则请求超时且不会下载报告。
这是我发送的选项UrlFetchApp:
var options = {
"method" : "post",
"header" : "someHeaders",
"muteHttpExceptions" : true,
"followRedirects" : false,
"Content-Encoding" : "gzip",
"payload" : "somePayload"
}
Run Code Online (Sandbox Code Playgroud)
然后一个简单的调用 .fetch()。
有没有办法增加超时或任何解决方法?