Notionでデータベースの一部のみを外部共有する方法

Notionでデータベースの一部のみを外部共有する方法

今回は Notionでデータベースの一部だけを外部に共有する方法 をご紹介します。

「社内タスクを一元管理しているが、一部データだけクライアントに見せたい…」そんな悩みを抱える方にぴったりの内容です。

問題:共有ビューだけ公開したいのにうまくいかない

Notionには「ビュー」という便利な機能があります。

特定の条件でデータを絞り込んだビューを作成し、それを外部に公開すれば解決!と思うかもしれません。

しかし、Notionの現状の仕様では、ビューを外部公開しても、外部からはデータが全く表示されません。一元管理用のデータベースページそのものを外部に公開することで、ビューのデータが見えるようになります。

ただし、一元管理用のデータベースページを公開すると、ビュー以外のデータも外部から見られる状態になってしまい、本来の目的は達成できません。

このような制約があるため、AnycloudではNotion APIを使い、スクリプトでデータベースの一部を別ページにコピーして外部共有していました。ただし、同期漏れやメンテナンスの手間が課題となっていました。

なんとかスマートに外部に一部データを公開する方法はないかと探し続けていました。

解決法:高度なフィルターとロックを活用する

Notionデータベースの一部データをスマートに外部公開したくてたまらなかった自分を救ってくれたのが、Redditの投稿「Finally figured a way to share only a part of a database」です。

多少の複雑な手順はありますが、今のところかなりいい感じにワークしています。

自分で実践してみたところ詰まりポイントがあったのでそれを交えて解説します。

手順:スマートな共有のやり方

  1. 一元管理用データベースに「高度なフィルター」を設定
    • 「高度なフィルター」を使用して、「1900年以前に作成された」など絶対にヒットしない条件を設定します。
    • データベースをロックして、外部から条件が変更できないようにします。
  2. 外部共有用のビューを作成
    • 1とは別のページに外部共有用のビューを作成します。
    • 「高度なフィルター」を使用して、見せたいデータだけを絞り込む条件を設定します。
    • データベースをロックして、外部から条件が変更できないようにします。
  3. 一元管理用のデータベースページと、外部共有用のビューの2つのページを外部共有

    a. 1と2のページを両方外部共有することで、ビューページでもデータが表示されるようになります。

    b. 一元管理用のデータベースページは、データが空になって表示されるので、意図したデータのみを共有できます。

  4. 社内用のビューを作成
    • 社内で使う際には、一元管理用のデータベースのビューを作成すれば、通常通り表示やデータ作成が可能です。

ポイント:高度なフィルター + データベースのロック

「高度なフィルター」を使った条件は、データベースをロックすると外部から変更できなくなるため、安全に共有できます。

「高度なフィルター」ではなく、通常のフィルターを使ってしまうと外部からフィルターを編集できてしまい、任意のデータが見れてしまうため注意してください。

さいごに

この方法を使えば、Notionでのデータ共有がグッと便利になります!

手順が少し複雑なので、「やり方がわからない」「もっと詳しく知りたい」という方は私のXアカウントに気軽に質問してください。

Anycloudではプロダクト開発の支援を行っています

プロダクト開発をお考えの方はぜひAnycloudにご相談ください。

まずは相談する

記事を書いた人

村井 謙太

代表取締役

村井 謙太

Twitter

東京大学在学中にプログラミング学習サービスのProgateを立ち上げ、CTOとしてプロダクト開発に従事。 Progate退任後に株式会社Anycloudを立ち上げ、現在は多数のクライアントの技術支援を行っている。