创建和管理笔记本 (API)

NotebookLM Enterprise 是一款强大的工具,可根据您的文档生成分析洞见和摘要。本页面介绍了可让您以程序化方式执行以下笔记本管理任务的 API:

创建笔记本

如需创建新笔记本,请使用 notebooks.create 方法。

REST

curl -X POST \
  -H "Authorization:Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks" \
  -d '{
  "title": "NOTEBOOK_TITLE",
  }'

替换以下内容:

  • ENDPOINT_LOCATION:API 请求的多区域。分配以下值之一:
    • us-(表示美国多区域)
    • eu-(表示欧盟多区域)
    • global-(表示全球位置)
    如需了解详情,请参阅为数据存储区指定多区域
  • PROJECT_NUMBER:您的 Google Cloud 项目的编号。
  • LOCATION:数据存储区的地理位置,例如 global。 如需了解详情,请参阅位置
  • NOTEBOOK_TITLE:一个 UTF-8 编码的字符串,用作您要创建的笔记本的标题。

如果请求成功,您应该会收到类似于以下内容的 JSON。

{
"title": "NOTEBOOK_TITLE",
"notebookId": "NOTEBOOK_ID",
"emoji": "",
"metadata": {
  "userRole": "PROJECT_ROLE_OWNER",
  "isShared": false,
  "isShareable": true
},
"name": "NOTEBOOK_NAME"
}

请注意以下几点:

  • NOTEBOOK_ID:用于标识所创建笔记本的唯一 ID。您需要笔记本 ID 才能执行其他笔记本管理任务,例如共享或检索。
  • NOTEBOOK_NAME:笔记本的完整资源名称。此字段采用以下格式:projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID

在浏览器中访问已创建的笔记本并获取其 ID

如需使用浏览器访问已创建的笔记本并获取其 ID,请执行以下操作。

  1. 前往 NotebookLM Enterprise 首页,可通过以下网址之一访问:

    1. 如果您使用的是 Google 身份,请前往:

      https://notebooklm.cloud.google.com/LOCATION/?project=PROJECT_NUMBER
      
    2. 如果您使用的是第三方身份,请前往:

      https://notebooklm.cloud.google/LOCATION/?project=PROJECT_NUMBER
      
  2. 选择创建的笔记本。所选笔记本的网址采用以下格式:

    1. 如果您使用的是 Google 身份,格式如下:

      https://notebooklm.cloud.google.com/LOCATION/notebook/NOTEBOOK_ID?project=PROJECT_NUMBER
      
    2. 如果您使用的是第三方身份,格式如下:

      https://notebooklm.cloud.google/LOCATION/notebook/NOTEBOOK_ID?project=PROJECT_NUMBER
      
  3. 记下网址和笔记本 ID,它们对于执行其他笔记本管理任务(例如共享)非常有用。

检索笔记本

如需使用笔记本 ID 检索特定笔记本,请使用 notebooks.get 方法。

REST

curl -X GET \
  -H "Authorization:Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID"

替换以下内容:

  • ENDPOINT_LOCATION:API 请求的多区域。分配以下值之一:
    • us-(表示美国多区域)
    • eu-(表示欧盟多区域)
    • global-(表示全球位置)
    如需了解详情,请参阅为数据存储区指定多区域
  • PROJECT_NUMBER:您的 Google Cloud 项目的编号。
  • LOCATION:数据存储区的地理位置,例如 global。 如需了解详情,请参阅位置
  • NOTEBOOK_ID:您在创建笔记本时收到的笔记本的唯一标识符。

如果请求成功,您应该会针对空白笔记本收到类似于以下内容的 JSON 响应。如果您在向笔记本添加来源后调用此方法,则会收到有关添加到检索到的笔记本的所有来源的详细信息。如果您已配置 CMEK 详细信息,则还会收到与 CMEK 相关的笔记本信息。

{
"title": "NOTEBOOK_TITLE",
"notebookId": "NOTEBOOK_ID",
"emoji": "",
"metadata": {
  "userRole": "PROJECT_ROLE_OWNER",
  "isShared": false,
  "isShareable": true,
  "lastViewed": "LAST_VIEWED_TIME",
  "createTime": "LAST_CREATED_TIME"
},
"name": "NOTEBOOK_NAME"
}

列出最近查看的笔记本

如需获取项目中最近查看的所有笔记本的列表,请使用 notebooks.listRecentlyViewed 方法。默认情况下,响应会列出最近的 500 个笔记本。您可以选择使用 pageSize 查询参数对响应进行分页。

REST

curl -X GET \
  -H "Authorization:Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks:listRecentlyViewed"

替换以下内容:

  • ENDPOINT_LOCATION:API 请求的多区域。分配以下值之一:
    • us-(表示美国多区域)
    • eu-(表示欧盟多区域)
    • global-(表示全球位置)
    如需了解详情,请参阅为数据存储区指定多区域
  • PROJECT_NUMBER:您的 Google Cloud 项目的编号。
  • LOCATION:数据存储区的地理位置,例如 global。 如需了解详情,请参阅位置

如果请求成功,您应该会收到类似于以下内容的 JSON 响应。响应包含用户最近访问的最多 500 个笔记本。

{
  "notebooks": [
    {
      "title": "NOTEBOOK_TITLE_1",
      "notebookId": "NOTEBOOK_ID_1",
      "emoji": "",
      "metadata": {
        "userRole": "PROJECT_ROLE_OWNER",
        "isShared": false,
        "isShareable": true,
        "lastViewed": "LAST_VIEWED_TIME",
        "createTime": "LAST_CREATED_TIME"
      },
      "name": "NOTEBOOK_NAME_1"
    },
    {
      "title": "NOTEBOOK_TITLE_2",
      "notebookId": "NOTEBOOK_ID_2",
      "emoji": "",
      "metadata": {
        "userRole": "PROJECT_ROLE_OWNER",
        "isShared": false,
        "isShareable": true,
        "lastViewed": "LAST_VIEWED_TIME",
        "createTime": "LAST_CREATED_TIME"
      },
      "name": "NOTEBOOK_NAME_2"
    }
  ]
}

批量删除笔记本

如需批量删除笔记本,请使用 notebooks.batchDelete 方法。

REST

curl -X POST \
  -H "Authorization:Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks:batchDelete"
  -d '{
    "names": [
      "NOTEBOOK_NAME_1",
      "NOTEBOOK_NAME_2"
    ]
  }'

替换以下内容:

  • ENDPOINT_LOCATION:API 请求的多区域。分配以下值之一:
    • us-(表示美国多区域)
    • eu-(表示欧盟多区域)
    • global-(表示全球位置)
    如需了解详情,请参阅为数据存储区指定多区域
  • PROJECT_NUMBER:您的 Google Cloud 项目的编号。
  • LOCATION:数据存储区的地理位置,例如 global。 如需了解详情,请参阅位置
  • NOTEBOOK_NAME:要删除的笔记本的完整资源名称。此字段的格式如下:projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID

    如果请求成功,您应该会收到一个空的 JSON 对象。

共享笔记本

如需共享新笔记本,请使用 notebooks.share 方法。

您要与之共享笔记本的用户必须获得 Cloud Notebook User 角色。

REST

  1. 在您的 Google Cloud 项目中,向您要与之共享笔记本的用户分配 Cloud NotebookLM User Identity and Access Management (IAM) 角色。

  2. 调用以下方法。

    curl -X POST \
      -H "Authorization:Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID:share" \
      -d '{
        "accountAndRoles": [
         {
            "email":"USER_EMAIL_1",
            "role":"USER_ROLE_1",
         },
         {
            "email":"USER_EMAIL_2",
            "role":"USER_ROLE_2",
         },
        ]
      }'
    

    替换以下内容:

    • ENDPOINT_LOCATION:API 请求的多区域。分配以下值之一:
      • us-(表示美国多区域)
      • eu-(表示欧盟多区域)
      • global-(表示全球位置)
      如需了解详情,请参阅为数据存储区指定多区域
    • PROJECT_NUMBER:您的 Google Cloud 项目的编号。
    • LOCATION:数据存储区的地理位置,例如 global。 如需了解详情,请参阅位置
    • NOTEBOOK_ID:用于标识要共享的笔记本的唯一 ID。您需要笔记本 ID 才能执行其他笔记本管理任务,例如共享或检索。
    • USER_EMAIL:您要与之共享笔记本的用户的邮箱。
    • USER_ROLE:您要向用户分配的角色。可以是下列选项之一:

      • PROJECT_ROLE_OWNER:用户拥有项目。
      • PROJECT_ROLE_WRITER:用户拥有项目的写入权限。
      • PROJECT_ROLE_READER:用户拥有项目的读取权限。
      • PROJECT_ROLE_NOT_SHARED:用户无权访问项目。

    如果请求成功,您会收到一个空的 JSON 对象。

使用浏览器验证用户

如需验证您是否已与正确的用户共享笔记本并为其分配了正确的角色,请执行以下操作:

  1. 在浏览器中打开笔记本。笔记本采用以下网址格式:

    1. 如果您使用的是 Google 身份,格式如下:

      https://notebooklm.cloud.google.com/LOCATION/notebook/NOTEBOOK_ID?project=PROJECT_NUMBER
      
    2. 如果您使用的是第三方身份,格式如下:

      https://notebooklm.cloud.google/LOCATION/notebook/NOTEBOOK_ID?project=PROJECT_NUMBER
      
  2. 点击共享

  3. 验证列为拥有访问权限的人员的用户及其分配的角色。

后续步骤