我需要能够调用以太坊合约(只读 eth_call 即可)并将结果存储在我的 Google 表格中。有什么合理的方法可以使用 Google Apps 脚本来执行此操作吗?我找不到任何方法来导入 web3 或 ethrpc 等库...
我尝试使用 python 脚本将文件从 Google Drive 下载到本地系统,但在运行 Python 脚本时遇到“禁止”问题。脚本如下:
import requests
url = "https://www.googleapis.com/drive/v3/files/1wPxpQwvEEOu9whmVVJA9PzGPM2XvZvhj?alt=media&export=download"
querystring = {"alt":"media","export":"download"}
headers = {
'Authorization': "Bearer TOKEN",
'Host': "www.googleapis.com",
'Accept-Encoding': "gzip, deflate",
'Connection': "keep-alive",
}
response = requests.request("GET", url, headers=headers, params=querystring)
print(response.url)
#
import wget
import os
from os.path import expanduser
myhome = expanduser("/home/sunarcgautam/Music")
### set working dir
os.chdir(myhome)
url = "https://www.googleapis.com/drive/v3/files/1wPxpQwvEEOu9whmVVJA9PzGPM2XvZvhj?alt=media&export=download"
print('downloading ...')
wget.download(response.url)
Run Code Online (Sandbox Code Playgroud)
在这个脚本中,我遇到了禁止的问题。我在脚本中做错了什么吗?
我还尝试了在 Google 开发者页面上找到的另一个脚本,如下所示:
import auth
import httplib2
SCOPES = "https://www.googleapis.com/auth/drive.scripts"
CLIENT_SECRET_FILE = "client_secret.json"
APPLICATION_NAME = "test_Download"
authInst = auth.auth(SCOPES, …Run Code Online (Sandbox Code Playgroud) 以下是电子表格直接副本的链接:Sheets
已停止工作的脚本称为“Live”,24 Hour 仍按预期工作。运行脚本时(因为它应该在打开时)它不再更新,而是出现以下错误消息;
GoogleJsonResponseException:对 youtube.videos.list 的 API 调用失败并出现错误:请求指定了无效的过滤器参数。(第 41 行,文件“Live”)
自创建以来,我没有触及或更改过该脚本的任何内容,并且我已经在每个电子表格上使用相同的脚本几个月了(您会注意到电子表格以其使用的月份命名)
我正在尝试将电子表格中的特定工作表导出到 PDF 文件,该文件将根据单元格值设置名称,并且我想设置导出设置,以便所有边距都设置为 0
我在网上获取了以下代码,并对其进行了修改以满足我的需要,但导出时并未按照我的意愿显示文件名,并且未将导出边距设置为 0 并适合页面:
有谁知道我如何通过应用程序脚本来做到这一点(如果有人有更好的脚本,我愿意尝试:))
function exportPDF() {
var sourceSpreadsheet = SpreadsheetApp.getActive();
var sheets = sourceSpreadsheet.getSheets();
var sheetName = sourceSpreadsheet.getActiveSheet().getName();
var sourceSheet = sourceSpreadsheet.getSheetByName("Agreement");
var ss = SpreadsheetApp.getActive();
var sh = ss.getSheetByName("Agreement");
var sheet = ss.getSheetByName("Input");
var name = sheet.getRange("C3").getValue();
var company = sheet.getRange("C4").getValue();
var order = sheet.getRange("C11").getValue();
var gAcc = sheet.getRange("C12").getValue();
var pdfName = "Agreement_" & name;
if(company != "")
{
pdfName = pdfName + "_" & company & "_" & order & "_" & gAcc; …Run Code Online (Sandbox Code Playgroud)