我正在使用http
NodeMCU 开发分支的模块向 Google Calendar API 发出 GET 请求。但是,当我检索事件并解析答案时,由于编码不正确,我得到了奇怪的字符。
我试图添加Accept-Charset: utf-8
请求的标头,但请求失败(代码=-1)。
有没有办法设置字符集,或者之后在lua中转换它?
function bdayshttps(curr_date)
if (string.len(curr_date) == 10) then
http.get("https://www.googleapis.com/calendar/v3/calendars/"..
"<CalendarID>/events"..
"?timeMax="..curr_date.."T23%3A59%3A59-00%3A00"..
"&timeMin="..curr_date.."T00%3A00%3A00-00%3A00&fields=items%2Fsummary"..
"&key=<Google Calendar API key>", "Accept-Charset: utf-8", function(code, data)
if (code < 0) then
print("msg:birthdays error")
else
if (code == 200) then
output = ""
for line in data:gmatch"\"summary\": \"[^\n]*" do
output = output..line:sub(13, line:len()-1)..";"
end
print("bday:"..output)
end
end
end)
end
end
出于显而易见的原因,我删除了 calendarID 和 API 密钥。
编辑:
此代码的结果返回msg:birthday error
,这意味着 GET 请求返回一个code=-1
.
在标题中替换"Accept-Charset: utf-8"
by时,我得到:nil
Loïc Simonetti
而不是Loïc Simonetti
.