【发布时间】:2022-12-07 10:21:25
【问题描述】:
function myFunction() {
var gen_otp_url = 'http://data.krx.co.kr/comm/fileDn/GenerateOTP/generate.cmd'
// #otp payload
var gen_otp_data = {'locale' : 'ko_KR',
'mktId' : 'STK',
'trdDd' : '20221205',
'money' : '1',
'csvxls_isNo' : 'false',
'name' : 'fileDown',
'url' : 'dbms/MDC/STAT/standard/MDCSTAT03901'};
var options = {
'method' : 'post',
'contentType': 'application/json',
'payload' : gen_otp_data};
var otp = UrlFetchApp.fetch(gen_otp_url, options);
Logger.log(otp.getContentText())
var csv_url = 'http://data.krx.co.kr/comm/fileDn/download_csv/download.cmd'
var gen_csv_data = {'code' : otp };
var csv_options = {
'method' : 'post',
'contentType': 'application/json',
'muteHttpExceptions': true,
'payload' : gen_csv_data};
var csv = UrlFetchApp.fetch(csv_url, csv_options);
Logger.log(csv.getContentText());
}
我想用这个加载 csv 日志..
Logger.log(csv.getContentText());
当我在 Python 上做同样的代码时,它是一个字节码,所以我解码了它,但它在 appsscript 上不起作用......
我试过了。它不起作用...
function to64(arr) {
var bytes = [];
for (var i = 0; i < arr.length; i++)
bytes.push(arr[i]<128?arr[i]:arr[i]-256);
return Utilities.base64EncodeWebSafe(bytes)
} // to64
【问题讨论】:
-
你能提供
Logger.log(csv.getContentText());的样本值吗? -
csv.getContentText() 什么都没有..
-
csv.getAllHeaders() 方法
-
{Expires=Tue, 06 Dec 2022 12:22:52 GMT, Connection=keep-alive, Content-Type=application/octet-stream;charset=UTF-8, Cache-Control=max-age=0, no-cache , 无存储, 内容传输编码=二进制, 内容长度=0, mod_time=1670329372000, Set-Cookie=JSESSIONID=UbTHpDMYJ1t2CAipdec4YkTQEYDUus7VeruNFzVThwsEphRgbkz9J64mCaRN2ICP.bWRjX2RvbWFpbi9tMixGNvd2F;域名=.krx.co.kr;路径=/; HttpOnly,日期 = 星期二,2022 年 12 月 6 日 12:22:52 GMT,Content-Disposition=attachment; filename=data_2252_20221206.csv, Pragma=no-cache}
-
谢谢你的回复。来自
csv.getContentText() have notthing,在这种情况下,数据不包括在内。因此,首先,我认为需要检索数据。例如,您能否提供您要使用的 API 的详细规范?
标签: csv google-apps-script urlfetch