Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rest 在Fantom中根本不存在请求_Rest_Google Sheets_Fantom - Fatal编程技术网

Rest 在Fantom中根本不存在请求

Rest 在Fantom中根本不存在请求,rest,google-sheets,fantom,Rest,Google Sheets,Fantom,我在将请求放入GoogleSheetsAPI时遇到了一些问题。 我有这个密码 spreadsheet_inputer := WebClient(`$google_sheet_URI_cells/R3C6?access_token=$accesstoken`) xml_test := XDoc{ XElem("entry") { addAttr("xmlns","http://www.w3.org/2005/Atom") a

我在将请求放入GoogleSheetsAPI时遇到了一些问题。 我有这个密码

    spreadsheet_inputer := WebClient(`$google_sheet_URI_cells/R3C6?access_token=$accesstoken`)
    xml_test := XDoc{
    XElem("entry")
       {
         addAttr("xmlns","http://www.w3.org/2005/Atom")
         addAttr("xmlns:gs","http://schemas.google.com/spreadsheets/2006")
         XElem("id") { XText("https://spreadsheets.google.com/feeds/cells/$spreadsheet_id/1/private/full/R3C6?access_token=$accesstoken"), },
         XElem("link") { addAttr("rel","edit");addAttr("type","application/atom+xml");addAttr("href","https://spreadsheets.google.com/feeds/cells/$spreadsheet_id/1/private/full/R3C6?access_token=$accesstoken"); },
         XElem("gs:cell") { addAttr("row","3");addAttr("col","6");addAttr("inputValue","testing 123"); },
       },
    }

    spreadsheet_inputer.reqHeaders["If-match"] = "*"
    spreadsheet_inputer.reqHeaders["Content-Type"] = "application/atom+xml"
    spreadsheet_inputer.reqMethod = "PUT"
    spreadsheet_inputer.writeReq
    spreadsheet_inputer.reqOut.writeXml(xml_test.writeToStr).close
    echo(spreadsheet_inputer.resStr)
现在它回来了

sys::IOErr: No input stream for response 0
在echo声明中

我有所有必要的数据(至少我很确定),它在这里工作

需要注意的是,它并不能准确地更新日历


编辑:我让它返回响应代码,它是一个0,从GoogleSheetsAPI中有关于这意味着什么的指针吗?或者fantom webclient?

webclient.resCode
是不可为空的
Int
,因此默认为0,因此问题可能是未发送请求或未读取响应

由于您显然正在编写请求,因此问题应该是后者。请在resStr之前尝试呼叫

这个readRes()

读取响应状态行和响应标题。在通过writeReq和reqOut写入请求后,可以调用此方法。此方法完成后,响应状态和标头可用。如果有响应体,则可通过树脂读取。如果存在网络或协议错误,则抛出IOErr。把这个还给我

试试这个:

echo(spreadsheet_inputer.readRes.resStr)
spreadsheet_inputer.reqOut.writeChars(xml_test.writeToStr).close
我怀疑以下线路也会给您带来问题:

spreadsheet_inputer.reqOut.writeXml(xml_test.writeToStr).close
因为
writeXml()
将字符串转义为XML安全的,而您只需要打印字符串。试试这个:

spreadsheet_inputer.reqOut.writeChars(xml_test.writeToStr).close