创建和管理笔记本 (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. 验证列为有权访问的人员的用户及其分配的角色。

后续步骤