ノートブックを作成して管理する(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 マルチリージョンの場合: 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. 次のいずれかの URL で利用できる NotebookLM Enterprise のホームページに移動します。

    1. Google の ID を使用している場合は、次の手順を行います。

      https://notebooklm.cloud.google.com/LOCATION/?project=PROJECT_NUMBER
      
    2. サードパーティの ID を使用している場合は、次の手順を行います。

      https://notebooklm.cloud.google/LOCATION/?project=PROJECT_NUMBER
      
  2. 作成したノートブックを選択します。選択したノートブックの URL は次のパターンになります。

    1. Google の ID を使用している場合:

      https://notebooklm.cloud.google.com/LOCATION/notebook/NOTEBOOK_ID?project=PROJECT_NUMBER
      
    2. サードパーティの ID を使用している場合:

      https://notebooklm.cloud.google/LOCATION/notebook/NOTEBOOK_ID?project=PROJECT_NUMBER
      
  3. URL とノートブック 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 マルチリージョンの場合: 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 マルチリージョンの場合: 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 マルチリージョンの場合: eu-
    • グローバル ロケーションの場合は global-
    詳細については、データストアのマルチリージョンを指定するをご覧ください。
  • PROJECT_NUMBER: Google Cloud プロジェクトの番号。
  • LOCATION: データストアの地理的なロケーション(global など)。詳細については、ロケーションをご覧ください。
  • NOTEBOOK_NAME: 削除するノートブックの完全なリソース名。このフィールドのパターンは projects/PROJECT_NUMBER/locations/LOCATION/notebooks/NOTEBOOK_ID です。

    リクエストが成功すると、空の JSON オブジェクトが返されます。

ノートブックを共有する

新しいノートブックを共有するには、notebooks.share メソッドを使用します。

ノートブックを共有するユーザーには、Cloud Notebook ユーザー ロールが付与されている必要があります。

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 マルチリージョンの場合: 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. ブラウザでノートブックを開きます。ノートブックの URL パターンは次のとおりです。

    1. Google の ID を使用している場合:

      https://notebooklm.cloud.google.com/LOCATION/notebook/NOTEBOOK_ID?project=PROJECT_NUMBER
      
    2. サードパーティの ID を使用している場合:

      https://notebooklm.cloud.google/LOCATION/notebook/NOTEBOOK_ID?project=PROJECT_NUMBER
      
  2. [共有] をクリックします。

  3. [アクセス権を持つユーザー] に表示されているユーザーと、割り当てられているロールを確認します。

次のステップ