現在の仕様ではGASでウェブアプリとしてデプロイすると、毎回違うURLになってしまいます。
ウェブアプリ側でブックマークされると古い内容のまま使われてしまうため、作成者側の設定で工夫が必要です。
URLを変えずに内容だけ新しくするには、「デプロイを管理」から最初のデプロイを編集し、バージョンを最新に切り替えます。
本記事ではGASの固定のURLで内容を最新にする方法を、画面つきで紹介します。
[GAS]固定のURLで内容を最新にする方法
デプロイの設定手順を把握すれば簡単に更新できます。
Google Apps Scriptにアクセスして、下記のHTML(名前はindex)とスクリプトを作成します。
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<h1>Hello world!</h1>
version 1.0
</body>
</html>function doGet() {
var html = HtmlService.createTemplateFromFile('index');
return html.evaluate();
}
右上のデプロイボタンを押して新しいデプロイを選択します。
次に歯車アイコンを押してウェブアプリを選択します。
説明には固定URLと入力しておきます。
最後にデプロイボタンを押します。

発行されたURLを開いて表示を確認します。

テキストが表示されました。

テキストの内容を更新します。
version 2.0
デプロイ>新しいデプロイを実行します。
内容が更新されていることを確認します。

新しくデプロイするとURLが変わるため、最初に発行したURLへ最新の内容を反映させます。
デプロイ>デプロイを管理
最初のデプロイを選択して、鉛筆アイコンを押します。
バージョンを先ほどデプロイした最新の内容に切り替えてデプロイします。

以上で、最初のURLのまま最新の内容に更新できました。

不要になったデプロイはアーカイブしておきましょう。

アーカイブではなく完全に削除したい場合は、右上のメニューの「以前のエディタを使用」から従来のUIに切り替えます。
ファイル>版を管理から不要なバージョンを削除します。

[GAS] 最新のデプロイしたWebAppのURLを取得する方法
最新のデプロイしたWebAppのURLを取得する方法を追記します。
function doGet() {
var value = ScriptApp.getService().getUrl();
Logger.log(value);
var html = HtmlService.createTemplateFromFile('index');
html.btn= value;
return html.evaluate();
}<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<h1>Hello world!</h1>
<button type="button" onclick="window.open(<?=btn?>)">最新版へ</button>
</body>
</html>下記のような記述でも取得できます。
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<h1>Hello world!</h1>
version 3.0
<? var url = ScriptApp.getService().getUrl(); ?>
<button type="button" onclick="window.open(<?=url?>)">最新版へ</button>
</body>
</html>[GAS] スプレッドシートからURLを参照する方法[応用]
上記の版管理が手間な場合は、スプレッドシートに最新のURLを記載して参照する方法もあります。
ハイパーリンクなどを設置するときに便利な手法です。
まずはスプレッドシートにURLを記入します。

コードを書き換えてデプロイを実行します。
var id = 'スプレッドシートのID';
var value = SpreadsheetApp.openById(id).getSheetByName("シート1").getRange("A1").getValue();
function doGet() {
var html = HtmlService.createTemplateFromFile('index');
html.btn= value;
return html.evaluate();
}<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<h1>Hello world!</h1>
version 3.0
<button type="button" onclick="window.open(<?=btn?>)">最新版へ</button>
</body>
</html>

ボタンを押すと、スプレッドシートに指定したURLへ遷移します。
動かなくなったときのメッセージ別の対処はGAS│エラーの意味と対処法にまとめました。
この記事で紹介しているコードは、GitHubのMOTOKI-LLC/cg-method-codeにもまとめています。
GASでウェブアプリケーションを作る記事は、ほかにもあります。




まとめ
GASのウェブアプリは、新規デプロイを行うたびにURLが変更される仕様です。
「デプロイを管理」での更新とスプレッドシート参照を使い分けることで、URLの管理が容易になります。
用途に合わせて設定を試してみてください。
