未找到来自 google api 的 UserCredential class

UserCredential class from google apis not found

我正在使用 ms vs express 2012 win 桌面并尝试编译此代码示例https://developers.google.com/youtube/v3/code_samples/dotnet#upload_a_video

我得到了像 Google.Apis.YouTube.v3、Google.Apis.Authentication 和 Google API 客户端库这样的 nuget 包。现在我有几百个 dll,其中一些正在复制。

添加了以下参考资料

我的使用指令:

using System;
using System.IO;
using System.Reflection;
using System.Threading;
using System.Threading.Tasks;

using Google.Apis;

using Google.Apis.Authentication.OAuth2;
using Google.Apis.Authentication.OAuth2.DotNetOpenAuth;
using Google.Apis.Services;
using Google.Apis.Upload;
using Google.Apis.Util.Store;
using Google.Apis.YouTube;
using Google.Apis.YouTube.v3;
using Google.Apis.YouTube.v3.Data;

编译失败,出现以下错误:

UserCredential can not be found (missing using directive?)

GoogleWebAuthorizationBroker does not exist

GoogleClientSecrets does not exist

我需要什么参考或使用指令? GoogleWebAuthorizationBroker 似乎需要 Google.Apis.Auth.PlatformServices - 我有 Google.Apis.Authenication.PlatformServices 参考,没有帮助。

显然有些 dll 有不同版本,其中一些具有 Google.Apis.Authentication 结构,而另一些具有 Google.Apis.Auth,因此您需要找到一个具有 Auth 的代码,代码将编译!

我们停止使用 DotNetOpenAuth 和 Google.Apis.Authentication(https://www.nuget.org/packages/Google.Apis.Authentication/ is obsolete) almost 3 years ago. Notice that the sample in https://developers.google.com/youtube/v3/code_samples/dotnet#upload_a_video 实际上使用了正确的用法。

我建议您清理项目并重新安装 YouTube NuGet 包,它会为您安装所有正确的依赖项。