サードパーティサービスの複数のドキュメントからUrlFetchApp()ペイロードを作成しようとしています。複数のインラインドキュメントの例に従う場合、UrlFetchApp()ペイロードには、バイナリ(ファイルごと)とテキスト(2つのコンテンツを分離するため)の両方が含まれている必要があります。この混合コンテンツをペイロードの高度な引数に提供するにはどうすればよいですか?
次のように、blobで.getBytes()のみを使用してバイナリを正常に実行しました。
function testfax() {
var faxnum = '12125551234';
var url = 'https://rest.interfax.net/outbound/faxes?faxNumber=+'+faxnum;
Logger.log('url='+url)
Logger.log(" ")
var varAuthString = AuthString(); //user function to create HTTP simple authorization header
//Logger.log(varAuthString)
//Logger.log(" ")
var accept = "application/xml";
var meth = 'POST';
var payloadBlob = testDocBlob("For-Testing-Fax"); //user function returns GAS blob mime type "application/pdf"
var payload = [];
payload = payloadBlob.getBytes();
Logger.log(payload.length)
var contentType = "application/pdf"
var ContentLen = 0;
var headers =
{
"Accept": accept ,
"Authorization": "Basic " + varAuthString
}
//Logger.log("headers= ")
//Logger.log(headers)
//Logger.log(" ")
var options =
{
"method" : meth,
"headers" : headers,
"contentType":contentType,
"contentLength": ContentLen,
"payload" : payload
};
//Logger.log("options= ")
//Logger.log(options)
//Logger.log(" ")
var r = UrlFetchApp.fetch(url,options);
Logger.log(r.getResponseCode());
Logger.log(r.getContentText());
Logger.log(r.getHeaders());
}