Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

193
Views
Download File using API Call in AppsScript

I'm trying to generate an invoice using data from my spreadsheet, and I'm not very familiar with HTTPS requests, let alone Google's UrlFetchApp. I'm trying to convert this example code provided by the API into something that AppsScript can use. So far it just saves the website as a .html to the folder.

function debug(){
  run();
}

const folderName = 'Invoices Test'

function generateInvoice(invoice) {
    var postData = JSON.stringify(invoice);
    var options = {
      'method'    : "post",
      'contentType': "application/json",
      'payload': postData
    };

    // Make a POST request with a JSON payload.
    var response = UrlFetchApp.fetch('invoice-generator.com', options);
    var fileBlob = response.getBlob();
    var folderID = getInvoiceFolderID();
    var folder = DriveApp.getFolderById(folderID);
    var result = folder.createFile(fileBlob);
}

/**
 * @return String
 */
function getInvoiceFolderID(){
  var id;

  var folders = DriveApp.getFoldersByName(folderName);
  if(!folders.hasNext()){
    DriveApp.createFolder(folderName).getId();
  }
  else{
    id = folders.next().getId()
  }
  return id;
}

var invoice = {
    logo: "http://invoiced.com/img/logo-invoice.png",
    from: "Invoiced\n701 Brazos St\nAustin, TX 78748",
    to: "Johnny Appleseed",
    currency: "usd",
    number: "INV-0001",
    payment_terms: "Auto-Billed - Do Not Pay",
    items: [
        {
            name: "Subscription to Starter",
            quantity: 1,
            unit_cost: 50
        }
    ],
    fields: {
        tax: "%"
    },
    tax: 5,
    notes: "Thanks for being an awesome customer!",
    terms: "No need to submit payment. You will be auto-billed for this invoice."
}
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

You need to use the full link in the UrlFetchApp.fetch parameter, as follows:

var response = UrlFetchApp.fetch('https://invoice-generator.com', options);

This would return the correct response as a PDF:

enter image description here

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!