🐵

RSSフィードをNotionに連携!GASで実装する簡単手順

2024/06/29に公開

GASとNotion APIを使ったRSSフィード連携手順

Notion APIの設定

まず、RSSフィードのデータをNotionに送信するために、Notion APIの設定を行います。以下の手順に従って設定を進めましょう。

  1. Notion API Integrationの作成:

    • Notionの My Integrations ページにアクセスし、「Create new integration」をクリックします。
    • Integrationの名前を設定し、必要に応じてアイコンを選びます。
    • 「Submit」をクリックすると、Integration Tokenが生成されます。このTokenをコピーして安全な場所に保存しておきます。
  2. Notion Databaseの準備:

    • RSSフィードのデータを保存するためのデータベースをNotionで作成します。新しいデータベースを作成し、カラムを適切に設定します(例:Name、URL、Description)。
    • データベースのURLから「Database ID」を取得します。URLの最後の部分がDatabase IDになります。

RSSフィードを取得するGASスクリプトの作成

次に、Google Apps Script (GAS) を使用してRSSフィードを取得するスクリプトを作成します。

  1. GASプロジェクトの作成:

    • Google Apps Script にアクセスし、新しいプロジェクトを作成します。
    • プロジェクトに適当な名前を付けます。
  2. RSSフィードの取得スクリプト:

    function fetchRSS() {
      let url = "RSSフィードのURL";
      let response = UrlFetchApp.fetch(url);
      let xml = XmlService.parse(response.getContentText());
      let entries = xml.getRootElement().getChild("channel").getChildren("item");
    
      let rssData = [];
      for (let i = 0; i < entries.length; i++) {
        let item = entries[i];
        let title = item.getChildText("title");
        let link = item.getChildText("link");
        let description = item.getChildText("description");
    
        rssData.push({
          title: title,
          link: link,
          description: description
        });
      }
      return rssData;
    }
    

取得したRSSフィードをNotionに送信するGASスクリプトの実装

取得したRSSフィードデータをNotionのデータベースに送信するスクリプトを実装します。

  1. Notion APIへのデータ送信スクリプト:

    function sendToNotion() {
      let notionToken = "YOUR_NOTION_INTEGRATION_TOKEN";
      let databaseId = "YOUR_NOTION_DATABASE_ID";
      let rssData = fetchRSS();
    
      let url = `https://api.notion.com/v1/pages`;
      let headers = {
        "Authorization": "Bearer " + notionToken,
        "Content-Type": "application/json",
        "Notion-Version": "2022-06-28"
      };
    
      rssData.forEach(function(entry) {
        let payload = {
          parent: { database_id: databaseId },
          properties: {
            "Name": { title: [{ text: { content: entry.title } }] },
            "URL": { url: entry.link },
            "Description": { rich_text: [{ text: { content: entry.description } }] }
          }
        };
    
        let options = {
          method: "post",
          headers: headers,
          payload: JSON.stringify(payload)
        };
    
        UrlFetchApp.fetch(url, options);
      });
    }
    
  2. トリガーの設定:

    • GASエディタの「トリガー」メニューから、新しいトリガーを作成し、定期的にsendToNotion関数が実行されるように設定します。

GASスクリプトのデバッグとトラブルシューティング

よくあるエラーとその対処法

  • HTTPエラー: Notion APIのエンドポイントにアクセスできない場合は、トークンやDatabase IDが正しいか確認します。
  • JSON形式のエラー: スクリプト内でJSONを正しくフォーマットしているか確認します。

デバッグ方法とツールの活用法

  • Logger.log()の活用: スクリプト内でデータの中身を確認するためにLogger.log()を使用します。
  • Google Apps Scriptエディタのデバッグ機能: スクリプトエディタのデバッグ機能を活用してステップバイステップでスクリプトを確認します。

Notion APIの活用例

他のAPI連携とその実装例

  • タスク管理ツールとの連携: Notion APIを使って、タスク管理ツールからデータを取得し、Notionに自動でタスクを追加するスクリプトを作成します。
  • カレンダーとの連携: Google Calendar APIを使用して、カレンダーイベントをNotionのデータベースに同期させるスクリプトを作成します。

Notionを活用した自動化のアイデア

  • 定期的なレポート作成: データを定期的に収集し、Notionでレポートを自動生成するスクリプトを作成します。
  • データベースの自動更新: 外部APIからデータを取得し、Notionのデータベースを自動的に更新するスクリプトを作成します。

RSSフィードを使った情報整理術

効率的な情報収集と管理の方法

  • RSSフィードの分類: 複数のRSSフィードをカテゴリ別に分類し、Notionのデータベースに整理します。
  • キーワードフィルタリング: 特定のキーワードを含む記事のみをフィルタリングし、重要な情報を効率的に収集します。

他のツールとの連携例

  • IFTTTやZapierの活用: IFTTTやZapierを使用して、RSSフィードとNotionの連携を簡単に実装する方法を紹介します。
  • 他の情報収集ツールとの統合: FeedlyなどのRSSリーダーとNotionを統合し、情報収集を一元化します。

GASとNotion APIを使ったRSSフィード連携まとめ

GASとNotion APIを使ったRSSフィードの連携手順を解説しました。これにより、RSSフィードを自動的にNotionに取り込み、効率的に情報を管理することができます。Notionを活用した自動化のアイデアも紹介し、さらに便利なツールとしての活用法を提案しました。ぜひ、これらの方法を活用して、情報収集と管理の効率を向上させてください。

おわりに

エンジニアやフリーランスエンジニアに関するキャリア相談を行っています。
お気軽にご連絡ください!
https://menta.work/plan/5942

Discussion