노트북 만들기 및 관리 (API) | NotebookLM Enterprise | Google Cloud Documentation
핵심 포인트
- 1이 문서는 NotebookLM Enterprise 노트북을 프로그래밍 방식으로 관리하기 위한 API 사용법을 자세히 설명합니다.
- 2제공된 API는 노트북 생성, 조회, 최근 본 목록 확인, 일괄 삭제, 그리고 공유와 같은 다양한 관리 기능을 지원합니다.
- 3각 API 호출은 인증이 필요하며 `ENDPOINT_LOCATION`, `PROJECT_NUMBER`, `LOCATION`, `NOTEBOOK_ID` 또는 `NOTEBOOK_NAME`과 같은 특정 매개변수를 활용합니다.
이 문서는 NotebookLM Enterprise에서 노트북을 프로그래매틱 방식으로 관리하기 위한 API 사양을 제공합니다. NotebookLM Enterprise는 문서에서 유용한 정보와 요약을 생성하는 강력한 도구이며, 이 API는 노트북 생성, 검색, 최근 본 목록 조회, 일괄 삭제, 공유 등의 작업을 지원합니다.
API 작업을 시작하기 위한 전제 조건으로 NotebookLM Enterprise 설정 및 라이선스 획득이 필요합니다. 모든 API 요청은 OAuth 2.0 Bearer 토큰을 사용한 인증을 요구하며, gcloud auth print-access-token 명령어를 통해 토큰을 획득할 수 있습니다. 엔드포인트는 https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks 형식이며, ENDPOINT_LOCATION은 API 요청의 멀티 리전(예: us-, eu-, global-), PROJECT_NUMBER는 Google Cloud 프로젝트 번호, LOCATION은 데이터 스토어의 지리적 위치를 나타냅니다.
1. 노트북 만들기 (Create Notebook)notebooks.create 메서드를 사용하여 새 노트북을 생성합니다.
- HTTP Method:
POST - Endpoint:
{BASE_URL}/notebooks - Request Body: JSON 형식으로
{"title": "NOTEBOOK_TITLE"}을 포함합니다.NOTEBOOK_TITLE은 생성할 노트북의 제목으로 사용될 UTF-8 인코딩 문자열입니다. - Response: 성공 시, 새로 생성된 노트북의 세부 정보가 담긴 JSON 객체가 반환됩니다. 이 응답에는
title,notebookId(생성된 노트북을 식별하는 고유 ID),emoji,metadata(사용자 역할, 공유 여부 등), 그리고name(노트북의 전체 리소스 이름, 형식:projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID) 필드가 포함됩니다.notebookId는 다른 노트북 관리 작업에 필요하며,name필드도 일괄 삭제와 같은 특정 작업에 사용됩니다.
2. 노트북 가져오기 (Get Notebook)
특정 노트북 ID를 사용하여 노트북 정보를 검색하려면 notebooks.get 메서드를 사용합니다.
- HTTP Method:
GET - Endpoint:
{BASE_URL}/notebooks/NOTEBOOK_ID - Parameters:
NOTEBOOK_ID는 검색할 노트북의 고유 식별자입니다. - Response: 성공 시, 요청된 노트북의 세부 정보가 담긴 JSON 객체가 반환됩니다. 응답은
notebooks.create의 응답 형식과 유사하며, 노트북에 소스가 추가되거나 CMEK 세부 정보가 구성된 경우 해당 정보도 포함됩니다.metadata필드에는lastViewed및createTime과 같은 추가 정보가 포함될 수 있습니다.
3. 최근에 본 노트북 목록 (List Recently Viewed Notebooks)
사용자가 최근에 액세스한 프로젝트의 모든 노트북 목록을 가져오려면 notebooks.listRecentlyViewed 메서드를 사용합니다.
- HTTP Method:
GET - Endpoint:
{BASE_URL}/notebooks:listRecentlyViewed - Parameters:
pageSize쿼리 매개변수를 사용하여 페이지네이션을 지원하며, 기본적으로 최대 500개의 노트북이 반환됩니다. - Response: 성공 시, 최근에 본 노트북 목록을 포함하는 JSON 객체가 반환됩니다.
notebooks배열 내에 각 노트북의title,notebookId,emoji,metadata,name등의 세부 정보가 나열됩니다.
4. 노트북 일괄 삭제 (Batch Delete Notebooks)
여러 노트북을 한 번에 삭제하려면 notebooks.batchDelete 메서드를 사용합니다.
- HTTP Method:
POST - Endpoint:
{BASE_URL}/notebooks:batchDelete - Request Body: JSON 형식으로
{"names": ["NOTEBOOK_NAME_1", "NOTEBOOK_NAME_2"]}와 같이 삭제할 노트북의 전체 리소스 이름(NOTEBOOK_NAME) 목록을 포함합니다. - Response: 성공 시, 빈 JSON 객체가 반환됩니다.
5. 노트북 공유 (Share Notebook)
새 노트북을 다른 사용자와 공유하려면 notebooks.share 메서드를 사용합니다. 노트북을 공유하려는 사용자에게는 미리 Google Cloud 프로젝트에서 Cloud NotebookLM User Identity and Access Management (IAM) 역할이 부여되어야 합니다.
- HTTP Method:
POST - Endpoint:
{BASE_URL}/notebooks/NOTEBOOK_ID:share - Parameters:
NOTEBOOK_ID는 공유할 노트북의 고유 식별자입니다. - Request Body: JSON 형식으로
{"accountAndRoles": [{"email":"USER_EMAIL_1", "role":"USER_ROLE_1"}, ... ]}를 포함합니다.USER_EMAIL: 노트북을 공유할 사용자의 이메일 주소.USER_ROLE: 사용자에게 할당할 역할 (예:PROJECT_ROLE_OWNER,PROJECT_ROLE_WRITER,PROJECT_ROLE_READER,PROJECT_ROLE_NOT_SHARED).
- Response: 성공 시, 빈 JSON 객체가 반환됩니다.
각 API 작업 후에는 웹 브라우저를 통해 NotebookLM Enterprise 홈페이지 () 또는 특정 노트북 URL ()에 접속하여 작업 결과를 확인할 수 있습니다. 공유된 노트북의 경우, "공유" 옵션을 클릭하여 액세스 권한이 있는 사용자와 할당된 역할을 확인할 수 있습니다.