Google电子表格脚本:UrlFetchApp将字符串上传为文件

时间:2017-04-26 11:07:59

标签: google-apps-script upload

我看到这个SO thread使用UrlFetchApp上传文件 另外我看到这个SO thread在python requests 中发布一个字符串作为文件(没有文件或创建临时文件)。

我想在Google Spreadsheet Script中发送一个字符串作为文件,基于上面的两个主题,我认为应该可以在不在google驱动器中创建临时文件的情况下进行。

我的问题是,在Google电子表格脚本中我如何假装字符串来自文件并将其传递给UrlFetchApp?

以下是我正在处理的基本代码:

  var string = 'test';
  var url = "https://api.telegram.org/.../sendDocument";

  var chat_id = "12345";

  var data = {'chat_id': chat_id, 
              'text':text}  ;

  var headers = { "Accept":"application/json", 
                  "Content-Type":"application/json"
                };

  var options = { "method":"POST",
                "headers": headers,
                "payload" : payload
               };

  var response = UrlFetchApp.fetch(url, options);

1 个答案:

答案 0 :(得分:1)

以下是我将字符串作为文件发布的正确方法:

 var url = "https://api.telegram.org/.../sendDocument";
 var blob = Utilities.newBlob('Test!', 'text/plain', 'report.txt');
 var data = {
   'chat_id' : '12345',
   'document': blob
 };
  var options = {
     'method' : 'POST',
     'payload' : data,
 };

 UrlFetchApp.fetch(url, options);

感谢@Jack Brown和google developer example发布blob的评论(标题为:使用表单数据发出POST请求)。