我已经阅读了大部分开发者控制台参考资料。
- 我在 YouTube 网站的“YouTube Manager Google 帐户”下的 Google Developers Console 中创建了一个已安装的项目。
- 我已启用 YouTube Data API v3 和 YouTube Analytics 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] 错误 [ Message[Forbidden] Location[ - ] Reason[forbidden] Domain[global] ]
我尝试使用 API Explorer 解决这种情况。这非常有帮助。当我尝试使用 YouTube 管理员所有者个人资料帐户进行身份验证时。查询失败。但如果我使用不同的 Google+ 信息页帐户,我可以让查询工作。Google+ 信息页帐户有一个电子邮件帐户,但与 Google+ 信息页帐户的所有通信都被定向到经理所有者个人资料帐户。于是尝试将Google+页面账号添加到项目权限中,但是无法确认链接。我认为我的问题是 YouTube 频道归 Google+ 页面帐户所有。分配的经理所有者拥有不同的帐户,即个人资料帐户,即使它是 youtube 帐户的经理。我知道这听起来很令人困惑。有没有人对如何解决这个问题有任何想法。谢谢