2011-07-03 71 views
0

我在這裏讀了一些帖子,發現了一些C#的例子,但我無法將它們傳送到vb.net :-(當我翻譯OAuthConsumer例如從dotnetopenauth我總是得到以下錯誤消息:vb.net例如使用dotnetopenauth獲取谷歌聯繫人?

'DotNetOpenAuth.ApplicationBlock.InMemoryTokenManager' is not accessible in this context because it is 'Friend'.

在這一行:

Private ReadOnly Property TokenManager() As InMemoryTokenManager

是否有任何地方vb.net工作的例子,我已經成功地採用了OpenID從dotnetopenauth與谷歌進行認證,但現在我只能堅持看完接觸... 非常感謝提前!

+0

該錯誤消息與C#和VB.NET之間的正常轉換無關,但看起來像DotNetOpenAuth API中的更改。當一堂課是「朋友」時,他們真的不希望你訪問它。因此,您發現的樣本已過期... –

+0

樣本包含在http://www.dotnetopenauth.net/上提供的最新dotnetopenauth 3.4.7中。在OAuthConsumer.GoogleAddressbook.aspx.cs中,該行是_private InMemoryTokenManager TokenManager {_,其翻譯如上。 – K232

+0

好的。如果您擁有InMemoryTokenManager(如果它在您的代碼文件中),只需將其公開給Friend而不是Friend。我雖然這是他們在DLL中提供的類型:) –

回答

1

ApplicationBlock是.zip文件中的一個源代碼發行版,因此您可以直接將它複製並粘貼到自己的項目中,在這種情況下,Friend類應該適合您。

+0

太好了,那有用,謝謝!還有一個問題:我現在怎麼可能避免用戶每次都點擊「授予訪問權限」? – K232

+0

@ K232:應該爲此提出一個新問題。 –

+0

@Valamas:好的,我會這麼做的。我想我必須保存AccessToken,但我注意到,即使對於同一個用戶,每個請求都是不同的。但也許這是由於一次又一次按下「Grant Access」導致的,因此Google每次都可能會創建一個新的令牌。我現在試着保存令牌並查看它是否正常工作,否則我會發佈一個新問題。謝謝! – K232