2015-10-04 32 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)後重新運行帖子,我有相同的凍結執行? –