開発者コンソールのリファレンスのほとんどを読みました。
- YouTube サイトの「YouTube Manager Google アカウント」の下にある Google Developers Console に、インストール済みプロジェクトを作成しました。
- YouTube Data API v3 と YouTube アナリティクス v1 を有効にしました。
- インストール済みプロジェクトの資格情報を作成しました。
コードは問題なく認証されます。
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()
});
エラーが発生しました: Google.Apis.Requests.RequestError Forbidden [403] エラー [メッセージ[禁止] 場所[ - ] 理由[禁止] ドメイン[グローバル] ]
API Explorer を使用して状況を解決しようとしました。とても役に立ちました。YouTube 管理者の所有者プロファイル アカウントを使用して認証しようとしたとき。クエリは失敗します。しかし、別の Google+ ページ アカウントを使用すると、クエリを機能させることができます。Google+ ページ アカウントにはメール アカウントがありますが、Google+ ページ アカウントとのやり取りはすべて管理者の所有者プロファイル アカウントに送信されます。そこでGoogle+ページのアカウントをプロジェクト権限に追加しようとしたのですが、リンクを確認する方法がありません。私の問題は、YouTube チャンネルが Google+ ページ アカウントによって所有されていることだと思います。割り当てられた管理者の所有者は、YouTube アカウントの管理者であるにもかかわらず、別のアカウント、プロファイル アカウントを持っています。私はこれが本当に混乱しているように聞こえることを知っています. 誰でも問題を解決する方法についてアイデアを持っていますか? ありがとう