web-dev-qa-db-ja.com

GoogleスプレッドシートのApps Scriptコードを保護する方法

スクリプトエディターを使用して、Googleスプレッドシートのコードを記述しました。

このスプレッドシートをクライアントと共有したいのですが、自分で書いたコードを共有したくありません。

このコードは、私のスプレッドシートにメニューを追加します。このメニューには、クライアントがこのスプレッドシートを開いたときに機能/実行する必要のある便利な関数が含まれています。

これはExcelでは簡単ですが、Googleスプレッドシートではわかりません。 。私はGoogleでたくさん検索しましたが、どれもスプレッドシートを共有する方法についてのアイデアを与えてくれます。たとえば、「表示」モードの場合に問題があります。メニューを追加するメニュー機能は「onOpen」で、クライアントがメニューを開いても起動しません。

これをGoogleスプレッドシートに実装する方法は?

31
namit

簡潔な答え

Publish アドオンとしてのスクリプト。限定公開を選択するか、Googleグループと共有を選択することで、非公開にすることができます。

説明

アドオンは2014年に追加されました。アドオンからは何も共有されないため、ライブラリを使用するよりも優れています。

アドオンユーザーは、アドオンのcrxファイルからGoogle Apps ScriptプロジェクトのURLを取得できても、共有されないため、コードにアクセスできません。

その点に注意してください

  • Chrome Developer Toolsまたは他の同様のソフトウェアを使用して、Google Apps Scriptのサーバー側コードにアクセスすることはできません。
  • アドオンにはいくつかの制限があります。この代替策が機能しない可能性があるため、慎重に検討してください。

アドオンとして公開できない場合は、Apps Script APIまたはGoogle Sheets APIを使用して、Webアプリケーションの使用を考慮してソリューションを再検討する必要があります。

参考文献

16
Rubén

ライブラリを利用する documentation の使用方法の説明と 少数の興味深い投稿 について 件名 もあります

7
Serge insas

クライアント用のスクリプトのみを含む特別なライブラリファイルを作成します。クライアントには、少なくとも読み取りレベルのアクセス権が必要です。したがって、彼はあなたのスクリプトを見ることができます。スクリプトを削除して、そのファイルに新しい無害なスクリプトを作成し、これを新しいバージョンとして保存します。これで、クライアントにはこの新しいスクリプトのみが表示されます。彼のアプリケーションはまだ古いバージョンのライブラリで動作しているため、元のスクリプトは通常どおりに彼の仕事をします。

5
user3887038