Google Calendar API V2到V3迁移问题

时间:2014-11-10 19:25:50

标签: google-api-dotnet-client

我们的组织已经创建了一个后台批处理服务器进程,该进程使用Google Calendar V2 API创建日历并管理日历的权限。从组织内部门户网站,最终用户将提交请求,以便为门户网站内的内部网站创建Google日历。请求将添加到批处理队列,Windows服务将处理请求。创建日历时,该流程将首先使用配置API创建一个Google用户ID,该用户ID将用作日历的所有者。创建日历时,该用户标识将被设置为所有者。然后,该过程将在日历ACL上添加贡献和读取权限,以允许组织中的其他用户查看它。

由于运行以创建日历的批处理过程是基于服务器的,因此没有用户直接与该过程交互。该服务直接从存储在数据库表中的队列中读取最终用户请求。批处理过程针对整个域运行,因此必须使用我们的oauth域密钥以完整的域权限连接到Google以生成oauth请求。

以下是我们当前流程中的步骤:

第一步是使用我们的域OAuth使用方密钥和密钥(从我们的域管理控制台检索)创建日历服务。

CalendarService _CalService = new CalendarService(“App Name”);

GOAuthRequestFactory  _requestFactory= new GOAuthRequestFactory(“Service Name”,  “App Name”);

_requestFactory.ConsumerKey = [Consumer Key from Domain OAuth security console] 
_requestFactory.ConsumerSecret = [Consumer Secret from Domain OAuth security console]

_CalService.RequestFactory = _requestFactory;

获取日历服务后,我们会对日历服务执行操作,例如创建新日历:

CalendarEntry calendar = new CalendarEntry();
calendar.Title.Text = title;
calendar.Summary.Text = summary;
calendar.TimeZone = timeZone ?? _DefaultTimezone;
calendar.Location = new Where("", "", location ??)

Uri oUri = new OAuthUri(“https://www.google.com/calendar/feeds/default/owncalendars/full”, [user name of Google ID created as owner of calendar], [domain]);

CalendarEntry entry = (CalendarEntry)_CalService.Insert(oUri, calendar);

我们的问题如下:

日历API V3中使用组织的oauth域密钥实例化日历服务以生成oauth请求的等效过程是什么,如上例所示?这是OAuth服务器帐户连接还是其他什么?我们读到了使用OAuth2LeggedAuthenticator的方法,但我们不确定这是否已经实现,或者可能已被服务器帐户连接取代。

我们建立了日历连接后,需要创建一个附加了特定所有者的日历。在上面的示例中,OAuthURI处理设置日历所有者的用户名。如何在V3中处理?

我们注意到URI在V2服务调用中被广泛使用。它们如何在V3 api中使用,如果有的话?我们还没有找到任何引用URI的V3示例。

除了V3迁移指南之外,是否还有其他使用V3 API和.NET客户端的示例存储库?

0 个答案:

没有答案