Impact-Site-Verification: 94e066b1-c8e5-49b7-89c4-181a09eed204

殺伐に忙殺される、三十路ボンバイエ!

育児と仕事に追われる、効率化オタク。ボンバイエ =「やっちまえ!」。割と真面目に日常の問題について本気出して考えてます。

情報管理:YouTube動画を自動的に Readwise Reader に同期する方法

概要

YouTube の特定のプレイリストに追加した動画を Readwise Reader に自動的に同期して、効率的にノート取りと情報管理ができるようにする方法を解説します。Pipedream というツールを使って、プログラミング知識がなくても API 連携を実現できます。

状況

動画をエンタメとして時間を消費するもではなく、ノートをとって生産的なものにしようという試み

登録チャンネルは自動で取得して、トリアージを行い、見るか決定する方法を以前紹介。

manuhater.com

今回は、youtubeを徘徊しているときに、面白そうな動画があった!

見る→他の動画も見る→また他の動画も見てしまうという地獄のようなループから抜け出すためにルーチンを変える。

面白そうな動画→プレイリストに登録する→プレイリストからReadwiseReaderに連携される。後でも見たいものだったら見るというふうにする

どうやるか

Pipedream で YouTube と Readwise の API を連携

  • Readwise Reader API で任意のURLを保存可能なことを発見

  • YouTube API でプレイリストの動画を取得し、Readwise API に送信する仕組みが必要

  • スクリプトを定期実行する代わりに、Pipedream で API 連携を簡単に実現

  • Pipedream は複数の API を連携させ、認証部分も自動で処理してくれるサービス

準備するもの

  • 設定に必要なアカウントと事前準備

  • 同期したい YouTube プレイリストを作成

  • Pipedream アカウント(無料で利用開始可能)

  • YouTube と Readwise のアカウント連携

※特別な開発環境は不要(ブラウザだけで設定可能)

ワークフロー作成手順

  1. Pipedream での設定方法新しいワークフローを作成
  2. YouTube (Data API)」を検索(「Custom App」ではない方を選択)
  3. 「New Videos in Playlist」を選択
  4. YouTube アカウントにログイン  ※Pipedream上でコネクションする。
  5. 「Playlist ID」と名前を設定
  6. プラスボタンをクリックして次のステップを設定
  7. Readwiseを選択して「Run custom code」をクリック
  8. コードを「nodejs」から「python」に変更
  9. 「Add an App」をクリックして Readwise 認証トークンを追加
  10. 以下のコードを追加
import requests

def handler(pd: "pipedream"):
  headers = {"Authorization": f'Token {pd.inputs["readwise"]["$auth"]["access_token"]}'}
  vid = pd.steps["trigger"]["event"]["contentDetails"]["videoId"]
  video = "https://youtu.be/" + vid
  r = requests.post('https://readwise.io/api/v3/save/', headers=headers, json={"url": video}  )
  # Export the data for use in future steps
  return r.json()

無事にプレイリストからインポート。これでyoutubeのレコメンドに抗おう