6

外部ソースからコンテンツを定期的に取得し、それを使用して Google サイトのページを更新するタイム トリガー スクリプトがあります。thisによると、スクリプトは私のアカウントで実行されているはずで、そのアカウントはその Google サイト ページを完全に評価しています (手動で編集してテストしています)。しかし、スクリプトを実行すると、

そのアクションを実行する権限がありません。

ページを手動で編集できるのに、スクリプトを実行するときにその権限がないのはなぜですか?

(一般化された)スクリプト関数は次のとおりです。

function updatePage() {
  var site = 'https://sites.google.com/a/mydomain.com/myhome/mypagegroup/mypage';
  var pageName = '/mypagegroup/mypage';

  var site = SitesApp.getSiteByUrl(site);
  var page = site.getChildByName(pageName); //works fine
  Logger.log('page: ' + page.getTitle()); //displays correct page title

  var html = '<p>'; //in actual script, I get html from external source

  Logger.log('html: ' + html);

  page.setHtmlContent(html); //this is where the error is generated ("You do not have permission to perform that action")
};
4

2 に答える 2

3

スクリプト エディターで、ドロップダウン リストから関数名を選択し、実行アイコンをクリックしましたか?

ページを更新

この方法で初めて実行すると、承認が必要であることを示すポップアップが表示されます。サイトを変更するには、承認を与える必要があります。それが行われていない場合、エラーが発生します。

認証が必要です

サイトの承認:

サイトの管理

スクリプトを承認した後、コードを実行しましたが、うまくいきました。

アカウントにアクセスして、権限を付与したプロジェクトを確認できます。[アカウント] を選択し、[アカウント設定] ウィンドウの [セキュリティ診断] セクションで [開始] をクリックする必要があります。

于 2015-01-28T23:34:44.513 に答える