0

ユーザーを会社のカレンダーに登録する簡単なスクリプトを作成しようとしています。Google サイトに埋め込まれます。これまでのところ、私は持っています:

function doGet(e) {
  var app = UiApp.createApplication();  
  var mainPanel = app.createVerticalPanel();    
  var mainButton = app.createButton("Push Me");  
  var clickHandler = app.createServerHandler("addCalendar");

  mainButton.addClickHandler(clickHandler);  
  mainPanel.add(mainButton);  
  app.add(mainPanel);

  return app;
}

function addCalendar(e) {
  var app = UiApp.getActiveApplication();  

  var CAL_ID = (calendar's ID);
  CalendarApp.subscribeToCalendar(CAL_ID);

  var successLabel = app.createLabel("You have successfully added the Calendar.");
  app.add(successLabel);
  return app;
}

successLabel が表示されると addCalendar() が呼び出されますが、カレンダーへのサブスクライブをスキップしているようです。GUIを追加する前にカレンダーを購読できたので、問題はそれに関連しているに違いありません。

助けてくれてありがとう!

編集 - https://developers.google.com/apps-script/guide_user_interfacesの Google ドキュメントには、スタンドアロン サーブレットとして表示される UI は作成者として実行されるのに対し、スプレッドシートに表示される UI は実行中のユーザーとして実行されるという表があります。スクリプト。これが問題の根本でしょうか?

4

2 に答える 2

0

スクリプトがサービス/Web アプリケーションとして公開されると、開発者の ID で実行されます。これは、間違ったユーザーがカレンダーに登録されたことを意味します。アプリがスプレッドシートに表示されている場合は、アクティブ ユーザーの ID で実行されます。

于 2012-06-22T02:23:25.370 に答える
0

あなたの編集があなたの質問に答えると思います...しかし、クライアントが「ビジネス」または「教育」アカウントを持っている場合は、このドキュメントを読んで解決策を見つけることができます.

于 2012-06-20T09:09:13.340 に答える