首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Urlfetch blobs multipart/m

Urlfetch blobs multipart/m
EN

Stack Overflow用户
提问于 2012-05-22 22:32:42
回答 2查看 770关注 0票数 1

我正在尝试使用UlrFetch向Zoho报告提交CSV数据。我使用了以下代码:

代码语言:javascript
复制
function doImport(tabla,file) {
  var url="https://reportsapi.zoho.com/api/xxxxxxxx/yyyyyyyyyyy/"+tabla;
  var ticket="zzzzzzzzzzzzzzzz" ;//getTicket();
  url=url + "?ZOHO_ACTION=IMPORT&ZOHO_OUTPUT_FORMAT=XML&ZOHO_ERROR_FORMAT=json&ZOHO_API_VERSION=1.0"
  var params={"ZOHO_API_KEY":"vvvvvvvvvvvvvvvvvvvvvv"
              ,"ticket":ticket
              ,"ZOHO_FILE":file
              ,"ZOHO_IMPORT_TYPE":"APPEND"
              ,"ZOHO_ON_IMPORT_ERROR":"ABORT"
              ,"ZOHO_AUTO_IDENTIFY":"true"
              ,"ZOHO_CREATE_TABLE":"false"
              ,"ZOHO_DATE_FORMAT":"dd-MM-YYYY"
              ,"ZOHO_DELIMITER":"0"
             };

  var options =
    {
      "method" : "post",
      "payload" : params,
      "contentType": "multipart/form-data"
    };
  var response=UrlFetchApp.fetch(url, options);
  var tableDataString=response.getContentText();
  expireTicket(ticket);
  Logger.log(tableDataString);
  return tableDataString;
}

但是,数据没有以正确的多表单格式提交(获取错误500状态)。此问题回溯到early 2011。请,如何提交多部分/表单数据格式的blob文件的一个或两个例子将受到欢迎。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2012-06-12 01:03:31

对于有效负载,您将其作为Object传递,这看起来是正确的。这将被解释为HTTP表单(您想要的)。

要修复脚本,请尝试以下操作:

  1. 确保您为ZOHO_FILE使用的值是Blob。这将确保HTTP表单将自动发送以下内容:

Content-Type: multipart/form-data; boundary=[automatically determined]

  • Do没有为HTTP POST指定contentType。这允许UrlFetchApp自动使用其自己的contentType值,其中包括boundary字段。(次要细节:仍然可以在Blob本身上指定contentType,但不是整个post请求。如果您感兴趣,这允许指定帖子中每个Blob的contentType。)
票数 2
EN

Stack Overflow用户

发布于 2012-05-25 02:53:32

如果您将Blob作为有效负载值传递,UrlFetchApp将自动使用多部分/表单数据编码。您可能需要使用:

代码语言:javascript
复制
"ZOHO_FILE": file.getBlob()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10704180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档