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

Google apps script Google电子表格脚本:UrlFetchApp上传字符串作为文件,google-apps-script,upload,Google Apps Script,Upload,我看到了使用UrlFetchApp上传文件的过程。 我还看到了在python请求中以文件形式发布字符串,而不需要文件或创建临时文件 我想在GoogleSpreadsheet脚本中发送一个字符串作为文件,基于上面的两个线程,我认为不需要在GoogleDrive中创建临时文件就可以做到这一点 我的问题是,如何在谷歌电子表格脚本中假装字符串来自一个文件,并将其传递给UrlFetchApp 以下是我正在处理的基本代码: var string = 'test'; var url = "https:

我看到了使用UrlFetchApp上传文件的过程。 我还看到了在python请求中以文件形式发布字符串,而不需要文件或创建临时文件

我想在GoogleSpreadsheet脚本中发送一个字符串作为文件,基于上面的两个线程,我认为不需要在GoogleDrive中创建临时文件就可以做到这一点

我的问题是,如何在谷歌电子表格脚本中假装字符串来自一个文件,并将其传递给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);

下面是我如何正确地将字符串作为文件发布的:

 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);

感谢@jackbrown的评论和发布blob示例:使用表单数据发出POST请求

您可以根据您的第一篇so帖子,从字符串创建一个blob,并将blob作为文件传递。但是,您必须检查正在调用的服务的api文档,以了解如何在url请求中发送文件fetch@JackBrown谢谢你的评论真的很有帮助。我能让它工作。把答案贴在下面。