Skip to content

na3shkw/x-save-notion-userscript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

X → Notion Saver

X (Twitter) のポストをワンクリックで Notion に保存するユーザースクリプトです。

機能

  • タイムライン・詳細画面の各ポストに「保存」ボタンを追加
  • テキスト・著者・日時・引用ポストをデータベースプロパティに保存
  • ページコンテンツとして本文・引用・画像・リンクカードをブロックで保存
  • 画像は Notion にアップロードしてページに埋め込み(失敗時は外部URL参照にフォールバック)
  • 本文内の t.co 短縮 URL を最終リダイレクト先に展開して保存
  • 保存済みポストの重複チェック(✅ 表示)
  • トークン等の設定をページ上のモーダルから変更可能

インストール

  1. ブラウザに Tampermonkey をインストール
  2. インストールリンク を開き、Tampermonkey でインストール
  3. 後述の「初期設定」を行う

インストール後は Tampermonkey の自動更新機能により、新しいバージョンがリリースされると更新通知が届きます。

初期設定

1. Notion インテグレーションの作成

  1. https://www.notion.so/my-integrations でインテグレーションを新規作成
  2. 「内部インテグレーション」を選択し、作成後に表示される Notion Token (secret_...) を控える

2. Notion データベースの作成

後述の「データベーススキーマ」に従いデータベースを作成し、インテグレーションを接続する。

データベースページ右上の「...」→「接続」→ 作成したインテグレーションを選択

3. スクリプトの設定

X を開くと設定モーダルが自動で表示されます。
または x.com のコンソールで notionSaverSettings() を実行するとモーダルを開けます。

項目
Notion Token Notion API トークン
Datasource ID 「データソースを管理する」からコピーしたID

Datasource ID の確認方法
データベースページの「...」→「データソースを管理する」を開き、対象データソースの「...」から「データソースIDをコピー」で取得できます。

データベーススキーマ

スクリプトが書き込むプロパティは以下の通りです。Notion データベースに 同名・同型 のプロパティを作成してください。

プロパティ名 内容
Title タイトル ポスト本文の先頭50文字
URL URL ポストの URL (https://x.com/...)
ID テキスト ポストの数値ID(重複チェックに使用)
Author テキスト 表示名 (@ユーザー名) 形式
Body テキスト ポスト本文(最大2000文字、t.co展開前の元URL)
QuotedPost テキスト 引用ポストの本文(引用がない場合は空)
PostedAt 日付 ポストの投稿日時(ISO 8601)

注意: プロパティ名は大文字・小文字を含め完全一致させてください。名前が違う場合は Notion API がエラーを返します。

画像・本文・引用・リンクカードはページコンテンツ(ブロック)としても保存されます。複数画像は横並びレイアウト(column_list)で配置されます。

ボタンの状態

表示 意味
保存 未保存。クリックで保存開始
保存中
保存済み
✅⚠ 保存済み(一部画像が外部URL参照。将来リンク切れの可能性あり)
エラー。3秒後に「保存」に戻る

開発

npm install        # Biome(フォーマッター)をインストール
npm run format     # コードフォーマット(または保存時に自動実行)

推奨エディタ拡張: Biome.vscode/extensions.json に設定済み)

ライセンス

ISC

About

X のポストを Notion に保存するユーザースクリプト

Topics

Resources

License

Stars

Watchers

Forks

Contributors