3

開発者コンソールのリファレンスのほとんどを読みました。

  1. YouTube サイトの「YouTube Manager Google アカウント」の下にある Google Developers Console に、インストール済みプロジェクトを作成しました。
  2. YouTube Data API v3 と YouTube アナリティクス v1 を有効にしました。
  3. インストール済みプロジェクトの資格情報を作成しました。

コードは問題なく認証されます。

UserCredential credential;
            using (var stream = new FileStream(hds_opo_youtube_service.Properties.Settings.Default.clientIDFile, FileMode.Open, FileAccess.Read))
            {
                credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
                    GoogleClientSecrets.Load(stream).Secrets,
                    // This OAuth 2.0 access scope allows for read-only access to the authenticated 
                    // user's account, but not other types of account access.
                    new[] { YouTubeService.Scope.YoutubeReadonly,
                            YouTubeAnalyticsService.Scope.YtAnalyticsReadonly},
                    "user",
                    CancellationToken.None,
                    new FileDataStore(this.GetType().ToString())
                );
            }

            var youtubeService = new YouTubeService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName = this.GetType().ToString()
            });
YouTube データ API を使用して、1 つの特定のプレイリストから動画のリストを取得できます。次に、YouTube 分析サービスを作成し、ビュー データのクエリを試みます。それは私が得るときです:

エラーが発生しました: Google.Apis.Requests.RequestError Forbidden [403] エラー [メッセージ[禁止] 場所[ - ] 理由[禁止] ドメイン[グローバル] ]

API Explorer を使用して状況を解決しようとしました。とても役に立ちました。YouTube 管理者の所有者プロファイル アカウントを使用して認証しようとしたとき。クエリは失敗します。しかし、別の Google+ ページ アカウントを使用すると、クエリを機能させることができます。Google+ ページ アカウントにはメール アカウントがありますが、Google+ ページ アカウントとのやり取りはすべて管理者の所有者プロファイル アカウントに送信されます。そこでGoogle+ページのアカウントをプロジェクト権限に追加しようとしたのですが、リンクを確認する方法がありません。私の問題は、YouTube チャンネルが Google+ ページ アカウントによって所有されていることだと思います。割り当てられた管理者の所有者は、YouTube アカウントの管理者であるにもかかわらず、別のアカウント、プロファイル アカウントを持っています。私はこれが本当に混乱しているように聞こえることを知っています. 誰でも問題を解決する方法についてアイデアを持っていますか? ありがとう

4

1 に答える 1

1

さて、私は自分の質問に答えると思います。YouTube チャンネルは Google+ ビジネス ページにリンクされています。このページは、完全な意味での Google アカウントではありません。自動生成された電子メールがありますが、実際の電子メール アカウントではありません。オーナー マネージャーは google+ プロフィール アカウントです。アプリを作成する前はこの違いを理解していなかったため、最初に認証を試みたときに、Google+ ページと Google+ プロファイルのどちらを認証するかを選択するように求められました。YouTube チャンネルの所有者だと思って、Google+ プロフィールを選びました。その後のすべての認証では、保存された更新トークンが使用され、2 つの google+ アカウントのどちらに対して認証するかを再度確認することはありませんでした。その間、私は API Explorer を使用し、Google+ ページに対して認証する必要があることに気付きました。というわけで、保存していたリフレッシュトークンを削除して、その後、コードを再度実行しました。それは私に2つのアカウントの選択を与えました. Google+ ページを選択すると、YouTube 分析クエリが機能しました。

于 2015-05-20T23:31:10.397 に答える