本文へ移動
vast-cowのブログ
前のページへ戻る

iOSショートカットで「YouTubeリンクをYouTubeアプリで確実に開く」手順

この記事を編集

Safariや各種アプリからコピーした YouTube のURLを、そのまま開くとブラウザで再生されたり、意図しない表示になったりすることがあります。 このショートカットは、クリップボード上のYouTube URLを解析し、YouTubeアプリ用のURLスキーム(vnd.youtube://)に変換して開くためのものです。

対応するケースは次の3つです。

全体の流れ

  1. クリップボードからURL文字列を取得
  2. Shorts形式かどうか正規表現で判定 → 動画IDを取り出す
  3. 通常動画形式かどうか正規表現で判定 → 動画IDを取り出す
  4. 取得できたIDに応じて vnd.youtube://... を組み立て
  5. 最後にURLを開く

手順(アクション構成)

1) クリップボードの内容を取得する

以降の処理は、この inputUrl が YouTube の何形式かを判定して、適切な “YouTubeアプリで開くURL” に変換する段階です。

2) Shorts URLかどうか判定し、動画IDを抜き出す

^https?://(?:www\.|m\.)?youtube\.com/shorts/([\w-]{11})(?:\?.*)?

この時点で shortsId が取れれば Shorts と確定です。

3) 通常動画(watch?v=)かどうか判定し、動画IDを抜き出す

Shorts でない場合に備え、通常動画のURLもチェックします。

^https?://(?:www\.|m\.)?youtube\.com/watch\?[^#]*\bv=([A-Za-z0-9_-]{11})

4) 条件分岐で「開くべきURL」を組み立てる

ここからがショートカットの要点です。 取得できたIDに応じて、YouTubeアプリ用のURLを作ります。

4-1) Shorts IDが取れた場合

vnd.youtube://youtube.com/shorts/{shortsId}?

これを openUrl として扱います

4-2) Shortsでなく、通常動画IDが取れた場合

vnd.youtube://youtu.be/{videoId}

これも openUrl になります

4-3) どちらのIDも取れなかった場合(フォールバック)

Shortsでもwatchでもない形式(共有URLが変則、別ドメイン、パラメータが特殊等)の可能性があります。 この場合は、URLのスキーム(https:// など)だけを vnd.youtube:// に置換して、アプリ起動を試みます。

結果を fallbackUrlText と呼びます

次に、

これがフォールバック時の openUrl

5) 最終的にURLを開く

最後に、上の分岐で得られたURL(openUrl)を開きます。

まとめ:このショートカットで得られる効果


この記事を編集
この記事を共有:

コメント


前の記事
systemd と `certbot` による TLS 証明書自動更新(権限分離を重視)
次の記事
`docs` 以外のフォルダを GitHub Pages で公開する(GitHub Actions 方式)