1

Googleのアプリケーション用のデータを含む一連のGoogleスプレッドがあり、それぞれを使用してjson形式(ダウンロード)でそのデータを出力するためのスクリプトを作成しています。これは、各スクリプトをWebアプリケーションとして公開し、HTMLダイアログからURLにリンクすることで実行されます。GoogleスプレッドシートWebアプリケーションdownloadAsFile停止した作業

function doGet() 
{ 
    var exportJSON = getExportJSON(); 
    var output = ContentService.createTextOutput(exportJSON); 
    output.downloadAsFile("filename.json"); 
    return output; 
} 

function getExportJSON() 
{ 
    var exportArray = []; 
    fillInExportArray(exportArray); 
    return JSON.stringify(exportArray, null, 4); 
} 

これはしばらくの間うまくいきましたが、水曜日(2017年4月5日)に突然動作を停止しました。今のところ、ダウンロードダイアログが表示されますが、ファイル名(私の例ではfilename.json)を置く場所では、 "echo"(引用符なし)という単語が追加されています。ファイルをダウンロードする場所を選択して[OK]をクリックすると、Chromeのダウンロードバーにダウンロードが表示されますが、その下に[失敗 - ネットワークエラー]と表示されます。

私が言ったように、同じパターンを使用する多数のシートがありますが、それらは完全に別々のスクリプトとWebアプリケーションです。この問題は、変更されていない状態で、すべてのシートに表示されたので、私たちが行ったことではないと仮定しています。

update:スクリプトエディタにアクセスし、[公開] - > [Webアプリケーションとしてデプロイ]を選択し、[最新のコード]リンクをクリックするとダウンロードが正常に動作することを忘れていました。

更新2:私は、この問題がオフィスの私たちの一部では起こっているが、他のものでは起こっていないことを認識しました。

+0

私はちょうどここで推測していますが、それはあなたのネットワークのおそらくあなたのスクリプトの何かの下流にあるのだろうかと思います。エコーはPHPの出力コマンドなので、私はそれを言う。 – Cooper

+0

提案していただきありがとうございます。私はちょうどこの問題がオフィス内の人々の一部に影響を及ぼし、他の人は影響していないことに気づいた。私はネットワーク外のルールを推測する? –

+0

これはおそらくそうです。ただし、ネットワーク管理者がいる場合は、それについて質問する価値があります。 – Cooper

答えて

0

の問題は、私はGoogleスプレッドシートからHTMLモーダルダイアログからWebアプリケーションへのリンクを活性化し、それはこのエラーが表示されるように引き起こしていたとして:

は、「表示するには拒否ます。https:// ... 'はフレーム内で ' X-Frame-Options 'を' SAMEORIGIN 'に設定しています。

だから私はこのスレッドで説明するように修正を試してみました:App Script HTMLService App in iFrameが、それは動作しませんでした、最後に私は、リンクのHTMLへtarget="_blank"を追加しましたので、それが新しいウィンドウで開き、正常に動作します。

関連する問題