📌

YouTube Data API v3による自動投稿 (1)Access tokenの取得

に公開

概要

  • Google Developper OAuth 2.0 Playground でAccess tokenを取得する操作をまとめておきます。

OAuth 2.0 Playground にアクセス

OAuth 2.0 のClient IDとClient Secretを設定

  • OAuth flow: 「Server-side」を選択する。
  • Access type: 「Offline」を選択する。
  • Use your own OAuth credentials: このチェックボックスをオンにする。
  • 事前に作成した「OAuth 2.0 クライアント ID」と「クライアントシークレット」を入力する。

Step 1: Select & authorize APIs(APIのスコープを選択)

  • YouTube Data API v3 を利用する場合、必要なものをリストから選択する。

  • 動画のアップロードであれば、主に以下のスコープが必要となる。
    https://www.googleapis.com/auth/youtube.upload (動画と関連メタデータの管理)
    https://www.googleapis.com/auth/youtube (YouTubeアカウントの全般的管理)

  • 「Authorize APIs」ボタンをクリックする。

  • Googleアカウントのログイン画面が表示される。

YouTube Channelに紐づいたGoogleアカウントを選択

  • YouTube Channelに紐づいたGoogleアカウントをクリックしてログインする

OAuth 2.0 Playgroundがリクエストしている権限を確認

  • OAuth 2.0 Playgroundがリクエストしている権限が表示される

【注】事前のAPI 作成時、RediectURLに OAuthを追加


-「詳細」テキストリンクをクリックする。

-「安全ではないページに移動する」テキストリンクをクリックする。

  • 「続行をクリックする」

Step 2: Exchange authorization code for tokens

  • Google Developpers OAuth 2.0 Playgroundの画面に自動的に戻る。
    -「Authorization code」が自動的に入力されている

    -「Exchange authorization code for tokens」ボタンをクリックする。

  • 「Refresh token」と「Access token」が表示される。

  • ブラウザ画面左に表示される。

  • ブラウザ画面右に表示される。

  • Authorization code: 認証サーバから発行された一時的なコード。すでにアクセストークンとリフレッシュトークンに交換済みのため今後使用することはない。

  • Refresh token: アクセストークンの有効期限が切れた際に、新しいアクセストークンを取得するために使用するトークン。

  • Access token: Google API にアクセスするために使用する一時的なトークン。有効期限がある。 (expires_in: 3599 秒、約 1 時間)

Step 3: Configure request to API

  • 取得したアクセストークンを使って実際に YouTube Data API v3 にリクエストを送信する。
    (OAuth 2.0 Playground を利用して API の動作を確認することができる)
    【例】

  • 自分のチャンネル情報を取得する
    https://www.googleapis.com/youtube/v3/channels?part=id,snippet&mine=true

  • ブラウザ画面左に表示される Requestを入力して送信する

  • ブラウザ画面右に表示される Responseを閲覧して確認する

【参考 その他の例】

まとめ

  • Google Developper OAuth 2.0 Playground でAccess tokenを取得する操作手順(成功)をブラウザ画面キャプチャとともにまとめました。
  • 事前にGoogle Cloud で新たなプロジェクトを作成し、YouTube Data API v3 を有効にしてClient ID 及び Client Secret を取得することが必要です。

Discussion