Google Appsスクリプトをウェブアプリケーションとしてデプロイする方法を、クリックで生成されたPDFをダウンロードしようとしています。ほとんど動作しますが、結果のファイルは無効です。私はそれがエンコーディングの問題なのか他のものなのかわかりません。コードはシンプルに見えるAppsスクリプトでウェブアプリケーション経由でApps Scriptによって生成されたPDFをダウンロード
:
function clickHandler(ev) {
ev.preventDefault();
google.script.run
.withSuccessHandler(function(data) {
var pdf = new Blob([window.atob(data)]);
var href = window.URL.createObjectURL(pdf);
var link = document.querySelector('#hiddenLink');
link.href = href;
link.click();
})
.makePDF();
}
任意の提案:ブラウザで
function makePDF() {
...
var pdfBlob = doc.getAs('application/pdf');
return Utilities.base64Encode(pdfBlob.getBytes());
}
、クリックハンドラがありますか?
ありがとうございます!
これはクリーンでシンプルなソリューションですが、認証に問題があります。私のApps Scriptは私として実行されますが、誰でも実行できます。ドライブにアクセスしてファイルを読み書きすることはできますが、Appsスクリプト以外ではすべての人がファイルを読むことはできません。私はそれがダウンロードされた後にスクリプト内のファイルのアクセス許可を変更しようとすることができますが、それを心配する必要はありませんいいです。 – Stan