从 .NET WCF 服务将文件插入 Google Drive

Posted

技术标签:

【中文标题】从 .NET WCF 服务将文件插入 Google Drive【英文标题】:Insert file to Google Drive from .NET WCF service 【发布时间】:2012-05-04 14:10:28 【问题描述】:

我创建了一个示例应用程序,用于将文档插入 .NET 中的 Google 驱动器。 为此,我使用了 WCF 服务。给我传递的服务方法:访问令牌、刷新令牌和到期时间。

我使用传递给它的参数在服务中使用 Google 驱动器 .NET SDK 创建身份验证器和驱动器服务。 在插入期间它给出了错误

如果设置ContentLength>0SendChunked==true,则必须提供请求正文。通过在[Begin]GetResponse. 之前调用[Begin]GetRequestStream 来做到这一点

我做错了什么?

【问题讨论】:

您能与我们分享您的插入代码部分吗?这可以帮助我们调试您的问题。另外,您可能对我们的.NET Drive sample 感兴趣。 我在这个链接上分享了代码...docs.google.com/open?id=0B2Xq62G1X2qlTnRsWWNsaFkySUk 我使用的示例代码与您建议的相同。 嗨,Alian,.net 驱动器示例似乎是使用旧的 google 客户端库开发的,该库存在一些已知问题。我可以获得更新的样本吗? 【参考方案1】:

这似乎是最近修复的库的一个已知问题:http://code.google.com/p/google-api-dotnet-client/issues/detail?id=181

如果您不想更新整个库,只需确保在 http://code.google.com/p/google-api-dotnet-client/source/detail?r=fe2d32e0713ae1c6138af72049377b145d4fa6cf 应用补丁

如果您可以等待,更新版本的库将很快发布并包含该修复。

【讨论】:

用补丁更新库后,我无法访问“Authenticator”类。 我现在应该如何使用它或者“Authenticator”的替代品是什么。尝试使用 OAuthAuthenticator 和 DelegateAuthenticator 但收到此错误“无法将类型 'Google.Apis.Authentication.OAuth2.OAuth2Authenticator' 隐式转换为 'Google.Apis.Authentication.IAuthenticator'。存在显式转换(您是否缺少演员?)”。 Authenticator 类已在最近的更新中被移除,现在您必须使用实现 IAuthenticator 接口的类,例如 OAuth2Authenticator 嗨,克劳迪奥,您能否提供一个 OAuth2Authenticator 的示例实现。

以上是关于从 .NET WCF 服务将文件插入 Google Drive的主要内容,如果未能解决你的问题,请参考以下文章

Asp.Net:将数据从 WCF 服务广播到 Asp.Net 客户端的最佳方式

WCF 服务将数据填充到 ASP.net 下拉列表(学习 WCF 服务)

从 ASP.NET 应用程序验证 WCF 服务

从 .Net 2.0 使用 ClientCredentialType="UserName" 的 WCF 服务

ASP.NET 中的 WCF 模拟异常

.Net 远程处理与 WCF