问题标签 [google-api-dotnet-client]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4956 浏览

c# - 使用 Google Calendar API .NET v3 的 C# 桌面应用程序 - Howto?

可能不是唯一一个问这个的人,但我没有发现任何有用的东西……就像丛林;)

我有一个 C# 桌面应用程序(5-10 个用户),我想连接到我的 Google 日历。我想在日历中添加、移动、删除、更新事件。我下载了安装的最后一个.Net api v.3。

根据我的阅读,困难的部分是身份验证/连接过程。我想我们需要使用 OAuth 2.0 身份验证?我希望我的用户进行一次身份验证,而不是每次他们想要执行操作(添加、移动、删除、更新)时。在某些示例中,我得到我们必须将令牌从网页剪切并粘贴到控制台...不是真正的用户友好。以及如何仅进行 1 次身份验证(或者只是将令牌直接放入代码中以不进行身份验证?)?

现在,我可以在 C# 中有一个很好的工作示例代码来实现吗?

非常感谢您的帮助!!

0 投票
2 回答
2849 浏览

google-api - 使用 google-api-dotnet-client 的 Google+ 插入时刻

我正在尝试使用 dotnet-client 在 Google+ 中编写活动。问题是我似乎无法正确配置我的客户端应用程序。根据Google+ 登录配置这个 SO 问题,我们需要添加 requestvisibleactions 参数。我这样做了,但没有用。我正在使用范围https://www.googleapis.com/auth/plus.login,我什至添加了范围https://www.googleapis.com/auth/plus.moments.write,但插入仍然不起作用。

这是我的请求网址的样子:

https://accounts.google.com/ServiceLogin?service=lso&passive=1209600&continue=https://accounts.google.com/o/oauth2/auth?scope%3Dhttps://www.googleapis.com/auth/plus.login%2Bhttps://www.googleapis.com/auth/plus.moments.write%26response_type%3Dcode%26redirect_uri%3Dhttp://localhost/%26state%3D%26requestvisibleactions%3Dhttp://schemas.google.com/AddActivity%26client_id%3D000.apps.googleusercontent.com%26request_visible_actions%3Dhttp://schemas.google.com/AddActivity%26hl%3Den%26from_login%3D1%26as%3D-1fbe06f1c6120f4d&ltmpl=popup&shdf=Cm4LEhF0aGlyZFBhcnR5TG9nb1VybBoADAsSFXRoaXJkUGFydHlEaXNwbGF5TmFtZRoHQ2hpa3V0bwwLEgZkb21haW4aB0NoaWt1dG8MCxIVdGhpcmRQYXJ0eURpc3BsYXlUeXBlGgdERUZBVUxUDBIDbHNvIhTeWybcoJ9pXSeN2t-k8A4SUbfhsygBMhQivAmfNSs_LkjXXZ7bPxilXgjMsQ&scc=1

正如您从那里看到的那样,有一个request_visible_actions,我什至添加了一个没有下划线的,以防我弄错了参数(requestvisibleactions)。

让我说我的应用程序正在通过 API 成功验证。经过身份验证后,我可以获取用户的个人资料,并且在“插入时刻”部分,我的应用程序失败了。我的插入代码:

0 投票
1 回答
163 浏览

google-api-dotnet-client - 如何签出旧版本的 google-api-dotnet-client

我刚刚从 url ( http://code.google.com/p/google-api-dotnet-client/ )下载了 google-api-dotnet-client 的最新副本,它显示版本 1.2.4819.34602 。

我正在使用从 URL http://code.google.com/p/google-api-dotnet-client/wiki/APIs#Drive_API下载的 google Drive .net API 库。这个谷歌驱动库引用了版本为 1.2.4737.25316 的谷歌 API 库。当我尝试引用最新的 API 时,它会引发许多错误,例如

我需要更改 GOOGLE DRIVE 引用的 google-api-dotnet-client 的源文件中的一些代码行。所以要做到这一点,我需要检查 google-api-dotnet-client 的旧版本,即版本 1.2.4737.25316 。我怎样才能做到这一点?

谢谢苏吉特

0 投票
2 回答
1511 浏览

c# - 无法使用 C#/.NET 中的服务帐户在 Google 驱动器中授权

我正在尝试使用 Windows 应用程序或服务中的 Google 驱动器。

我不需要 Web App、MVC 等。

系统必须自动运行,没有任何用户入侵,所以我创建了服务帐户并获取证书和电子邮件。

而且,当然,下载了最后一个客户端库 - http://code.google.com/p/google-api-dotnet-client/

我在文档中构建服务对象:

然后我这样做:

我在上传方法中遇到异常 - 未知对象标识符 (OID)。我找到了引发此异常的命令:

字符串签名 = UnpaddedUrlSafeBase64Encode (Key.SignData (Encoding.ASCII.GetBytes(assertion.ToString()), "SHA256"));

这在 Google.Apis.Authentication.OAuth2.dll、文件 AssertionflowClient.cs、方法 GenerateMessage 中。

但谷歌证书只有 SHA1 算法。从证书信息窗口可以看出这一点: X509Certificate2UI.DisplayCertificate ( certificate ); 或从窗户。

我尝试使用 SHA1: String signature = UnpaddedUrlSafeBase64Encode ( Key.SignData ( Encoding.ASCII.GetBytes ( assertion.ToString ( ) ), "SHA1" ) );

之后这个异常消失了,但我得到了 HTTP 错误 400(无效请求)。如何使用服务帐户使用 Google 驱动器?

0 投票
2 回答
116 浏览

oauth-2.0 - 使用不同的用户/资源所有者登录

我正在尝试编写一个在谷歌日历中创建条目的工具。在遵循谷歌文档并在 api 控制台中创建客户端标识符/秘密之后,我设法将一个客户端组合在一起,该客户端可以正确验证并显示我注册的谷歌日历。现在对我来说,我的谷歌帐户似乎以某种方式与我的客户标识符/秘密相关联。我想知道的是:如何更改身份验证过程,以便该工具的其他用户可以输入他的 google-id 并访问他的日历?

编辑:换句话说(在 RFC 中使用):我想让资源所有者部分可编辑,同时保持客户端部分不变。但我的示例虽然有效,但将客户和资源所有者联系在一起。

这是我到目前为止运行良好的应用程序:

0 投票
1 回答
1589 浏览

google-plus - Google Plus API Moment.Insert

我正在尝试使用 google-api-dotnet-client 的 moment.insert 并且还在 oauth 请求中包含 request_visible_actions 和 access_type 但我总是遇到异常:

字典中不存在给定的键。

这是堆栈跟踪:

以下是 moment.insert 的代码片段:

有人可以帮我解决问题吗?

0 投票
1 回答
5268 浏览

c# - 如何以编程方式获取 Google Drive API 访问的授权码?

我需要从 Google 驱动器下载文件。我在这里得到了执行此操作的代码。在这段代码中,他们启动了一个带有 URL 的 Web 浏览器进程,该 URL 要求用户授权 API 访问。授权后,它提供授权密钥,需要键入我们的进程才能真正继续(这是典型的 oath-2.0 程序)。我想让整个过程自动化而无需任何用户交互。提前致谢。

0 投票
2 回答
2193 浏览

asp.net-mvc-4 - 在 web asp.net mvc 4 / JavaScript 中使用带有 Google API 的服务帐户,例如 youtube、picasa

我来是为了了解有关 Google API 的一些信息,尤其是身份验证“服务帐户”

我和这个人有同样的问题,虽然这涉及另一个 API,但他很好地解释了这个问题。

几天来,我已经阅读了一些文章:

我已经注册了一个 Google API 帐户,并且正在使用提供给我的客户端密钥和秘密。然后我下载了以下库:

  • google-api-dotnet-client-1.2.4737-beta.source.zip
  • youtube-api-samples
  • google-youtube-v3-rev35-csharp-1.2.0-beta

到目前为止,没有什么对我有帮助...

我想知道是否可以使用Picasa web,因为我找不到任何相关信息。我目前正在使用,我发现它真的很容易使用,但我想迁移到.Youtube API v2 or v3oAuth2.0 Service accountPicasa Web oAuthv1.0Google Youtube API v3/Picasa web API

基本工作流程思想:

  • 私人图片和视频是专门为网站创建的。
  • 用户将登录该站点(不是 Google 用户)并查看图片和视频 -> 所有成功登录该站点的用户都可以访问所有 youtube 视频和 picasa 图片,并且此媒体在 Google 中是私有的

我在任何地方发现的唯一一个显示如何使用身份验证的示例是在一个 ASP.NET MVC 项目中,不幸的是它需要用户交互,我不希望那样做。

有人可以取悦我吗?是否有人编写了一段代码JavascriptC#用于使用服务帐户连接到 API,或者现在使用 oAuthv1.0 进行身份验证是否更好?任何帮助将不胜感激!

0 投票
2 回答
186 浏览

google-drive-api - Google Drive SDK 提取导致未处理的异常

我在使用 Google Drive SDK 时尝试处理网络故障异常,但遇到以下问题。我正在断开网络并运行此代码

但是由于未处理的异常而终止了应用程序,而不是打印“错误”。调试器显示以下堆栈跟踪

看起来Fetch()里面做了一些异步操作并且没有处理异常。所以我找不到处理这个异常的方法。它总是终止我的应用程序。我该如何解决?

更新

我找到了这行代码

Src\GoogleApis.Tests\Apis\Requests\RequestTest.cs:731

EndGetRequestStream引发了一个线程未处理的异常,因此看起来这是客户端 API 中的一个错误。我对吗?任何解决方法?

更新

Any answers? That's very important. My application crashes every time I disconnect the network and this cannot be solved without touching Google API source codes. I changed BeginGetResponse() to GetResponse() and recompiled the code, so currently it works for me and Fetch() throws an exception as expected, but synchronous and asynchronous operations are sharing a common code (synchronous operation executes asynchronous and waits) so currently I can't do async fetch. Will you guys fix this?

update

Google says We support the Google Drive SDK on Stack Overflow. Guys, do you really provide kind of support for your SDK? I'm waiting for ANY answer almost 5 days. Is there anybody?

0 投票
1 回答
1411 浏览

google-drive-api - 谷歌驱动SDK:取消上传

如何取消文件上传请求Google Drive SDK

我正在创建调用的 .NET 4 任务

我不能在这里使用取消令牌来取消我的任务,我也找不到任何取消请求的方法。我应该如何停止上传过程?\

更新

你好?有没有人?