我下载并编译了官方的 Google's API for .Net ,删除了一些不兼容的引用项目(Mobile WP81项目)。
现在,我正在尝试开始使用API的第一步,我正在关注Youtube API的 official examples ,这是一个大问题我的意思是我无法重现这个例子,因为这些命名空间丢失了...所以我无法导入它们:
Imports Google.Apis.Authentication
Imports Google.Apis.Authentication.OAuth2
Imports Google.Apis.Authentication.OAuth2.DotNetOpenAuth
Imports Google.Apis.Samples.Helper
Imports Google.Apis.Youtube.v3
Imports Google.Apis.Youtube.v3.Data
这些是我在项目中编译和引用的程序集:
Google.Apis.Auth.dll
Google.Apis.Auth.PlatformServices.dll
Google.Apis.Core.dll
Google.Apis.dll
Google.Apis.PlatformServices.dll
加上这些外部依赖项:
BouncyCastle.Crypto.dll
log4net.dll
Newtonsoft.Json.dll
Zlib.Portable.dll
我失踪了什么?
我认为存在两个问题,第一个似乎是示例旧,因为命名空间Google.Apis.Authentication
似乎已更改为Google.Apis.Auth
,但是,我仍然无法找到等效的命名空间对于这些:
Google.Apis.Authentication.OAuth2.DotNetOpenAuth
Google.Apis.Samples.Helper
Google.Apis.Youtube.v3
Google.Apis.Youtube.v3.Data
第二个问题,似乎我需要下载额外的Google库/依赖项来获取Youtube API,然后能够看到Youtube命名空间,我想是的,但我不知道在哪里下载。
答案 0 :(得分:2)
注意:此解决方案已经过试用和测试
首先,我自己没有去Github获取.Net
的API。一个原因并且通常至少对我来说是一个问题是因为试图弄清楚依赖性等等。考虑到这一点,我建议使用 NuGet 并使用Package Manager Console
。原因很简单,你 不 不得不担心编译源代码,引用问题与其他库,依赖关系等......
我是如何让它工作的?
请按照以下步骤操作,不仅让API
真正有效,而且我确实发现上面提供的官方示例存在更多问题( 不是您的错误 强>)。我相信它是新版本的变化,特别是YouTubeService
类。没有太多时间敲打这个或者向他们报告,但await
和ExecuteAsync
是一个问题...无论如何,让我们开始工作。
Visual Studio Ouput Window
中打印出信息。保存此项目并至少运行一次;在使用bin\debug
的{{1}}之前创建所需的Package Manager
目录。NuGet
。Tools --> NuGet Package Manager --> Package Manager Console
的链接,抓住HERE 此时,只需重新构建并运行您的程序即可。在这一点上,一切都应该很棒。
这是您解决的实际问题
现在谈到这个问题,我遇到了使用提供的(官方)示例。
NuGet
,然后您可以通过Developer Console执行此操作。下载client_secrets.json
文件并将其放在json
目录中。您可以担心以后将它放在别处...... 在该示例中找到以下代码:
bin\debug
您需要将// Retrieve the contentDetails part of the channel resource for the authenticated user's channel.
var channelsListResponse = await channelsListRequest.ExecuteAsync();
关键字和await
移至:ExecuteAsync()
。这是我遇到的问题,这是a $$的痛苦。它会执行,但我从来没有收到回复,从来没有,从来没有......直到我删除了上面列出的并替换它们。