本地应用中的Youtube API授权

时间:2014-07-13 08:55:12

标签: c# youtube-api

我正在尝试用C#创建视频上传应用。

using (var stream = new FileStream("client_secrets.json", FileMode.Open, FileAccess.Read))
                {
                    user = await GoogleWebAuthorizationBroker.AuthorizeAsync(GoogleClientSecrets.Load(stream).Secrets,
                        new[] { YouTubeService.Scope.YoutubeUpload }, "client", CancellationToken.None);
                }

Auth表单在默认浏览器中打开,尽管有等待调用,但我的程序不会等待用户完成auth进程,(至少我认为是这样,因为'await'调用实际上等待了auth完成,但我认为它等待有点太短)然后显示HTTP错误400 Bad Request的异常。当我再次启动该功能时,当用户已经被授权时,问题不再存在。Error

我正在使用.NET 4.0,因为令人惊讶的是这个API不适用于4.5。

1 个答案:

答案 0 :(得分:0)

这可能会也可能不会对您有所帮助。我希望如此。

我遇到了 GoogleWebAuthorizationBroker.AuthorizeAsync 的问题,直到我执行了以下操作:

  • 已安装Microsoft .NET Framework 4.0更新KB2468871(http://www.microsoft.com/en-us/download/details.aspx?id=3556
  • 多次运行Microsoft Windows Update以安装所有最新的Windows Update更新。
  • 使用Visual Studio Tools,NuGet Package Manager安装依赖包的更新
  • 安装了最新版本的NuGet软件包(这些软件包不在当前的Google.Apis.YouTube.v3 NuGet软件包中):
    • 安装包Microsoft.Bcl.Async
    • 安装包Google.Apis
    • 安装包Google.Apis.Auth