2014-06-14 89 views
-1

我正在從vb.net Web應用程序開發與Google Calender的集成。到目前爲止,我知道我需要自己實現iDataStore,因爲我將在我的網站上存儲屬於不同用戶的刷新令牌,以便稍後連接到他們的日曆並添加事件。在VB.NET中使用存儲的刷新令牌和iDataStore授權Google API

這是我創建一個新的授權用戶密碼:

 Dim clientSecrets As New ClientSecrets 
     clientSecrets.ClientId = "MyClientID" 
     clientSecrets.ClientSecret = "MyClientSecret" 

     Dim input() As String = {"https://www.googleapis.com/auth/calendar"} 
     Dim scope As New List(Of String)(input)  

     Dim myStoredResponse As New GoogleOauthAPI.StoredResponse(txtrefreshToken.Text) 
     Dim savedDataStoreObj As New GoogleOauthAPI.SavedDataStore(myStoredResponse) 

     Dim credential As UserCredential = GoogleWebAuthorizationBroker.AuthorizeAsync(clientSecrets, scope, "user", Threading.CancellationToken.None, savedDataStoreObj).Result 

我正在嘗試創建UserCredential對象時出現以下錯誤:

Value cannot be null. Parameter name: task 

的GoogleOauthAPI.StoredResponse是基於following guide,但從C#轉換爲vb.net。對於代碼轉換是否正確完成,我有一些不確定性。

Here is the original C# class

and here is the class converted to vb

myStoredResponse對象被創建,我可以在調試模式下檢查它,它看起來像它的拉動在刷新的代碼,我只是不確定爲什麼不能創建的用戶憑據並拋出這個錯誤?

enter image description here

任何幫助,將不勝感激!

+0

不確定爲什麼倒票? – QFDev

回答

0

最終解決了這個問題。將iDataStore接口類從C#轉換爲VB.net時,我沒有爲每個函數附加Implements IDataStore.MethodName

Here is my revised iDataStore VB class,隨意在您自己的項目中使用它。

相關問題