사용자 또는 개발자로 실행

App Maker는 앱의 서버 부분을 실행할 때 앱 사용자 계정 또는 개발자 계정과 같은 특정 계정을 사용합니다. App Maker는 앱이 서버 스크립트를 실행할 때와 Google Apps Script 서비스(G Suite 서비스, 스크립트 서비스, 고급 Google 서비스)에 대한 API 호출을 수행할 때 계정을 사용합니다. 코드를 실행하는 데 사용되는 계정을 실행 ID라고 합니다.

개발자는 앱 프로젝트의 실행 ID를 선택합니다.

  • 사용자 계정 — 앱은 앱을 실행하는 사용자의 계정 및 ID를 사용합니다. 사용자는 사용자의 드라이브 파일 및 G Suite 데이터에 액세스하고 Google Apps Script 서비스에 대한 메소드 호출은 사용자의 ID를 사용합니다. 예를 들면 다음과 같습니다.

    • DriveApp.getFiles() 메소드는 사용자 파일 목록을 표시합니다.
    • MailApp.SendMail() 메소드는 사용자를 발신자로 하여 이메일을 전송합니다.
    • Calendar.createEvent() 메소드는 사용자 캘린더에 캘린더 이벤트를 만듭니다.
  • 개발자 계정 — 앱은 앱을 게시하는 사용자의 계정 및 ID를 사용합니다. 앱을 게시하는 경우 사용자는 드라이브 파일 및 G Suite 데이터에 액세스하고 Google Apps Script 서비스에 대한 메소드 호출은 내 ID를 사용합니다. 예를 들면 다음과 같습니다.

    • DriveApp.getFiles() 메소드는 사용자 파일이 아니라 파일 목록을 표시합니다.
    • MailApp.SendMail() 메소드는 를 발신자로 하여 이메일을 전송합니다.
    • Calendar.createEvent() 메소드는 캘린더에 캘린더 이벤트를 만듭니다.

기본 설정 사용

각 앱 프로젝트에 대해 App Maker는 실행 ID에 대한 기본 설정을 사용합니다.

  • 기존 프로젝트 — 이 기능이 도입되기 전에 만들어진 앱 프로젝트의 경우 기본 설정은 개발자 계정입니다. 이 설정은 기존 프로젝트의 기능을 유지합니다.
  • 새 프로젝트 — 이 기능이 도입된 후에 만들어진 프로젝트의 경우 기본 설정은 사용자 계정입니다.

실행 ID 선택

앱 프로젝트의 실행 ID를 선택하려면 다음 단계를 따르세요.

  1. App Maker를 엽니다.
  2. 설정 앱 설정 앱 실행을 클릭하고 사용자 계정 또는 개발자 계정을 선택합니다.

나중에 게시되거나 다시 게시되는 앱의 모든 배포는 이 실행 ID를 사용합니다.

실행 ID 변경

사용자가 게시된 앱의 실행 ID를 변경하는 것은 드문 경우이지만 가능합니다. 하지만 변경된 앱은 반드시 철저하게 테스트해야 합니다.

앱 프로젝트의 실행 ID를 사용자 계정에서 개발자 계정으로 또는 그 반대로 변경할 수 있습니다. 변경 후 처음으로 앱을 게시하거나 이후 다시 게시할 때 App Maker는 새로운 실행 ID를 사용합니다. 이 경우에도 기본 앱의 배포는 그대로 입니다. 그러나 이를 원하지 않는 경우도 있을 수 있습니다.

기존 앱 배포의 실행 ID를 변경하려면 앱 프로젝트의 실행 ID를 변경하고 앱을 다시 게시해야 합니다. 예를 들어 앱을 수정하여 앱에 액세스할 수 있는 사용자를 변경하면 앱이 다시 게시됩니다.
앱 프로젝트의 실행 ID를 변경하려면 다음 단계를 따르세요.

  1. App Maker를 엽니다.
  2. 메뉴 열기를 클릭하고 앱을 선택합니다.
  3. 설정 앱 설정 앱 실행을 클릭하고 다른 실행 ID(사용자 계정 또는 개발자 계정)를 선택합니다. 나중에 게시되거나 다시 게시되는 앱의 모든 배포는 이 실행 ID를 사용합니다.

앱에서 개발자 계정을 사용하는 경우

예를 들어 다른 사용자가 내 캘린더에 항목을 추가하거나 내 계정에서 이메일을 전송할 수 있도록 하기 위해 경우에 따라 사용자에게 개발자(앱 게시자)로 데이터에 액세스할 수 있는 권한을 부여하기를 원할 수 있습니다. 이 경우 앱을 개발자로 실행할 수 있습니다.

앱을 개발자로 실행하는 경우 다음 팁을 고려하세요.

ID 관리

일부 API의 경우 ID를 어느 정도 숨기는 플래그를 사용할 수 있습니다(예: MailApp.sendMail의 경우 noreply 플래그 사용).

테스트가 포괄적인지 확인

개발자로 실행되는 앱은 그렇지 않을 경우에도 제대로 작동하는 것처럼 보일 수 있습니다. 앱이 드라이브 파일 및 G Suite 데이터에 대한 액세스 권한을 부여하는 경우 파일 및 데이터가 표시됩니다. 이는 내가 사용자이므로 당연한 것으로 생각합니다. 앱이 제대로 작동하는 것처럼 보이지만, 다른 사용자에게도 해당 사용자의 드라이브 파일 및 G Suite 데이터가 아닌 내 드라이브 파일 및 G Suite 데이터가 표시됩니다. 이를 방지하려면 다른 사용자가 게시한 배포뿐만 아니라 내가 게시한 배포도 다른 사용자가 테스트해야 합니다.