日本語

ビデオと字幕 · YouTube サムネイル ダウンローダーとメタデータ ビューアー

11 文字の YouTube 動画 ID: エンコード内容とランダムに見える理由

· 背景

YouTube 識別子 検証

アルファベットと長さのゲートを通過する 11 スロットの識別子
オリジナル ToolAcre ベクトル イラスト

すべての YouTube 動画 ID は、64 記号のアルファベットからなる 11 文字です。この投稿では、そのアルファベットが何なのか、どのくらいのスペースが与えられるのか、ID が連続していない理由、そして ID がどのようにしてすべてのサムネイルとメタデータのリクエストのキーとなるのかについて説明します。

毎回 11 文字 — いくつかのリンクをコピーした後に気づくパターン

ToolAcre は、大文字、小文字、数字、ハイフン、アンダースコアから抽出されたちょうど 11 文字のビデオ ID を受け入れます。このルールは、ベア トークン、またはサポートされている URL から抽出されたトークンに適用されます。ローカルでチェックすると、リモート アドレスを構築したり、不正な形式の候補を Google に送信したりする前に、切り捨てられた共有、コピーされた句読点、内部空白を検出できます。

形状検証では、テキストがツールのビデオ ID スロットを占有できるかどうかのみが尋ねられます。 YouTube がそのビデオを割り当てたこと、ビデオが現在存在すること、またはサインアウトしたブラウザがそのビデオにアクセスする可能性があることを証明するものではありません。可用性には個別の oEmbed とイメージの証拠が必要ですが、これらのエンドポイントは異なるリソースと障害モードを公開するため、同意しない可能性があります。

アルファベット — 文字、数字、ハイフン、アンダースコア、および URL セーフな Base64 との関係

アルファベットはパスとクエリ値で機能します。文字と数字には特別な処理は必要ありませんが、ハイフンとアンダースコアはスラッシュの区切り文字の意味とプラスのクエリの曖昧さを回避します。ビルダーは検証済みのトークンを short、watch、embed、thumnail URL テンプレートに安全に配置できますが、周囲のパラメータには適切な URL エンコードが必要です。

文字は URL セーフな Base64 に似ていますが、ToolAcre は ID をデコードしたり、整数として扱ったりすることはありません。パディングを追加せず、そのバイトでタイムスタンプまたはチャネル キーを検索しないでください。元の大文字と小文字を区別する文字列を保持します。小文字、Unicode 正規化、または数値変換により、検索対象が自動的に変更されることがあります。

形状検証は、ランダムな割り当て、エンコードされた意味、または実際の容量を証明するものではありません

概念的には、検証は、開始、11 個の許可された ASCII 文字、終了の 11 回繰り返されるアンカー文字クラスです。どちらのアンカーも重要です。これらがないと、一致する部分文字列が 1 つ含まれるため、より長い入力が渡される可能性があります。境界が正確であると、先頭のスペース、末尾の句読点、およびコピーされたパス テキストは、黙って ID として再解釈されずに失敗します。

11 の位置にある見かけのアルファベットを数えることは、可能な形状を表すものであり、YouTube の使用可能な在庫を表すものではありません。このコードは、予約値、割り当て、リタイア、衝突処理については何も証明していません。容量の主張により、バリデーターに欠けている確実性が追加されます。防御可能なステートメントは単に 11 個の許可された位置であり、結果のトークンは不透明として扱われます。

不透明に見える ID は列挙反対の意図を証明しない

不規則に見える ID はランダム性を証明するものではなく、ランダム性は承認を提供しません。プライベートなメモ、有料リソース、または非公開のワークフローを、推測の難しいトークンだけで保護しないでください。 URL はコピー、記録、履歴に保存できます。アクセス制御は、キーの外観ではなく、プラットフォームと周囲のアプリケーションから行われる必要があります。

ToolAcre はログイン認証情報を送信せず、バイパスも提供しません。適切な形式の ID を知っていれば、非公開のビデオ、削除されたビデオ、または年齢制限のあるビデオを公開することはできません。リクエストを繰り返しても、有効な構文を割り当てられたレコードにプロモートすることはできません。ブロッカー、ネットワーク ポリシー、地域の動作によっても実際の公開ビデオが停止される可能性があるため、失敗は観察されたリクエストの結果のみを証明します。

キーとしての ID — サムネイル、埋め込み URL、メタデータ リクエストがすべて同じ文字列にどのようにぶら下がっているか

検証後、ToolAcre はウォッチ リンクとショート リンク、プライバシー強化された埋め込み、oEmbed リソース、5 つの JPEG ポスター、3 つの JPEG フレーム、および 5 つの WebP ポスター リンクのトークンを再利用します。集中検証により、各ビルダーが異なるルールを作成したり、1 つの URL ファミリにスラッシュや特大のトークンを許可したりすることが防止されます。

開始時間とプレイリスト コンテキストは別個のパラメーターのままです。ビルダーはサポートされている場合にのみそれらを保存します。どちらもIDは変わりません。抽出ではトークンに `&t=90` または `&list=...` を追加してはなりません。したがって、ユーザーは、各リンク形式に応じて再生コンテキストが変化しながらも、1 つの安定したキーを中心に生成された宛先を比較できます。

有効な例: 形状チェックは存在ではなく構文エラーをキャッチします

`dQw4w9WgXcQ` には 11 個の許可された文字とパスがあります。最後の `Q` を削除すると、10 文字が失敗します。もう 1 つ追加すると 12 が失敗します。 1 つの位置をスラッシュ、ピリオド、スペース、または非 ASCII の類似文字に置き換えても失敗します。トリミングによって周囲の入力空白が削除される可能性がありますが、トークン内の空白は決してサイレントに修復してはなりません。

発明された 11 文字の許容文字列は、ビデオが割り当てられていない場合でも形状検証に合格します。フェッチでは、oEmbed エラー、画像の欠落、120-by-90 プレースホルダー、またはデコード不可能なバイトが発生する可能性があります。これらの応答は、構文ではなく、可用性について答えます。ステータス テキストは障害のあるレイヤーを特定し、ユーザーが入力を修正するか、リモートの動作を調査するかを判断できるようにする必要があります。

これでカバーされないもの — さまざまなパターンに従うチャンネル ID とプレイリスト ID

チャンネル ハンドル、チャンネル ID、およびプレイリスト ID は、異なる形式と場所を使用します。 ToolAcre はビデオ ゲートを強制的に通過させることはありません。プレイリストのみの URL にはサムネイルと oEmbed の構築に必要なキーが欠けているため、無関係な識別子テキストを誤って分類するのではなく、1 つのビデオを開いてそのリンクをコピーすることが有益な修正です。

URL 解析では、一致する部分文字列をスキャンするのではなく、ID を構造的に特定する必要があります。ウォッチ URL は `v` パラメーターを使用します。短いリンクと埋め込みリンクは、定義されたパス セグメントを使用します。ホスト チェックにより、敵対的なドメインが `youtube.com` のみを言及することが防止されます。解析により候補者の位置が特定されます。次に、同じ形状バリデーターがそのトークン構文のみをチェックします。

要点: 1 つの文字列で公開アセットのロックが解除される — YouTube サムネイル ダウンローダーとメタデータ ビューアーがリンク内の ID からどのように機能するか

抽出と検証はフェッチするまでローカルに留まります。メタデータと画像のリクエストは、資格情報とリファラーを省略して直接 Google に送信され、`no-store` がリクエストされ、リダイレクトが続きます。 Google は引き続きリクエスト、ネットワーク アドレス、Origin ヘッダーを参照します。 ToolAcre プロキシは、ID を検証したり、検索履歴を保存したり、認証されたフォールバック アクセスを提供したりすることはありません。

ゲートを正確に使用します。大文字と小文字を保持し、許可される 11 個の位置を必要とし、抽出を検証から分離します。次に、メタデータと各サムネイルについて個別にリモート証拠を報告します。この多層的な結果は、年齢、所有者、年代、セキュリティ、存在を明らかにする ID を主張するよりも強力です。不透明なキーはリクエストをリンクします。現在の回答のみが公開可能性について説明しています。