2015-10-04 54 views
0

我的配置是:VS2015,.NET 4.5.1,Orchard CMS,所有Google nugets for 1.9.3,甚至是从Visual Studio直接下载的一个。可用的最后一个日历是1.9.2.142。日历不能使用版本1.9.3

我试着在新的日历上连接一切:API密钥,Cliend ID,服务器帐户。没有任何工作。我正确地得到令牌,但只要我尝试以下代码

EventsResource.InsertRequest request = 
    service.Events.Insert(ev, calendarSettings.GoogleCalendarIds); 
Event ev2 = request.Execute(); 

执行冻结在执行,什么都不会发送。

所以我回到了1.9.2,并且在那里,代码被减少了,使它工作的唯一方法是使用P12证书ServerAccount

有没有人成功使用1.9.3版本的日历?用哪个组件配置?

+0

呃...感谢编辑我的文字,它肯定更清晰。 但是,你是不是害怕编辑像你这样的一切,可能会被Stack Overflow强制执行,可能会导致问题的危险倾向? –

+0

您是如何为冻结的代码创建身份验证的?什么是ev?什么是calendarSettings.GoogleCalendarIds? http://www.daimto.com/google-calendar-api-authentication-with-c/ – DaImTo

+0

使用ServiceAccount和P12 1.9.3冻结和1.9.2作品中的相同代码。 在我以前的代码ev是一个日历事件。此代码适用于1.9.2。 使用Fiddler似乎在1.9.3中接收到令牌,但pgm在收到它后立即停止工作,没有发送其他请求,就好像我们丢失了一个异步调用,发送它时没有任何回调等待完成。 –

回答

0

我正在使用ServiceAccount,并且有功能代码(使用旧版本1.7x)。我已将其更新至1.9.3,并调用第一个执行命令挂起。

将其追溯到ClientServiceRequest类在内部使用ASYNC HttpClient调用的事实,即使您使用所谓的同步执行命令。

查看1.9.3文件中的ClientServiceRequest.cs以查看我指的是什么。

+0

是的,我也看到这和我试图直接调用ExecuteAsync与.Result通常意味着我不会错过回调,但问题不会改变:令牌收到内部,没有更多,pgm停留在监视器中。可能是最后一个.Net代码的糟糕用法? –

+0

C.Surieux,一个有趣的旁白 - 我在一个WebForms应用程序的AJAX回调中调用Calendar API。第一次尝试挂起。如果我刷新页面并再试一次,它就会起作用。这似乎证实了你的观察,即在某一时刻接收到该标记,或许为第一次尝试已经太迟了,但是仍然在第二次尝试? –

+0

你比我有更好的结果,我从一个帖子调用控制器动作,如果我刚刚在提琴手检测到不记名令牌接收(与200)后重新运行帖子,我有相同的冻结执行? –