必要な関連情報の多くは、このドキュメントで見つけることができます。
https://developers.google.com/youtube/analytics/authentication
基本的には、次の 4 つの手順の概要を説明します。
1) ウェブアプリを Google Cloud Console に登録する
これは、クライアント シークレットとクライアント ID を取得できるようにするために必要です。これは、サーバー側の PHP コードが oAuth フローを実行するために必要になります (そして、認証しているユーザーの分析データをクエリできる適切なスコープを取得します)。これを行う方法の詳細については、こちらを参照してください。
https://developers.google.com/youtube/analytics/registering_an_application
アプリを登録する際に最も重要なことは、YouTube アナリティクス API を有効にして、ウェブ アプリケーション用の新しいクライアント ID を作成することです。
2) ユーザーがページにアクセスしたときに、oAuth フローの開始をトリガーする何らかの方法 (ログイン ボタンなど) が必要です。これがトリガーされたら、ブラウザを次の URL にリダイレクトします。
https://accounts.google.com/o/oauth2/auth?client_id=[あなたのクライアント ID]&redirect_uri=[認証後にユーザーを誘導する URL]&scope= https://www.googleapis.com /auth/yt-analytics.readonly&response_type=code&access_type=offline
これにより、アプリに分析を読み取る許可を与えるかどうかを尋ねるウィンドウが表示されます。クライアント ID パラメーターは、ステップ 1 でアプリを登録したときに受け取ったものと同じであることに注意してください。その登録プロセスでは、許可されたリダイレクト URI を設定する必要もあるため、ここでは、登録で設定したものを渡す必要があります。
3) リダイレクト URL は、ステップ 2 から、「コード」パラメータが添付された Google のサーバーによって要求されます。そのため、リクエストがあった場合、すぐに次のような別の URL (つまり、cURL などを使用) に POST を実行する必要があります。
POST /o/oauth2/token HTTP/1.1 ホスト: accounts.google.com コンテンツ タイプ: application/x-www-form-urlencoded
code=[GET パラメータとして入ってきたコード] &client_id=[あなたのクライアント ID]&client_secret=[あなたのクライアント シークレット]&redirect_uri=[登録されたリダイレクト URI]&grant_type=authorization_code
cURL を使用して POST として実行すると、応答はアクセス トークンとリフレッシュ トークンを含む JSON パケットになります。
4) PHP ページはこれらの両方を (たとえば、DB に) 保存できます。この時点でユーザーはログイン済みとして扱われるべきであり、分析に送信されるすべての API 要求のヘッダーでアクセス トークンを使用できることに注意してください。 API。
https://developers.google.com/youtube/analytics/authentication#OAuth2_Calling_a_Google_API
IT は 1 時間で期限切れになるため、リクエストごとにその経過時間を確認する必要があります (たとえば、DB に保存したときに有効期限を保存できます)。トークンを更新して、新しいアクセス トークンを取得します。
https://developers.google.com/youtube/analytics/authentication#OAuth2_Refreshing_a_Token
アプリが API とのインターフェイスを開始するために必要な場所にリダイレクトできるようになりました。
多いような?そうかもしれませんが、パラダイムを理解すれば、それは非常に簡単です。そして、あなたは PHP のクライアントについて尋ねましたが、ありがたいことに次のようなものがあります。
https://github.com/google/google-api-php-client
oAuth2 フロー全体の単純なハンドラーがあり、さまざまな呼び出しを行うときにアクセス トークンを自動的に設定する YouTube 分析サービス オブジェクトもあります。