2011-07-03 19 views
0

私はここにいくつかの記事を読んで、いくつかのC#の例を見つけましたが、私はdotnetopenauthからOAuthConsumer例を翻訳するとき、私は常に、次のエラーメッセージを取得:-(vb.netに転送することができないんだしました:vb.netの例dotnetopenauthを使用してGoogleの連絡先を取得するには?

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

をこの行の

Private ReadOnly Property TokenManager() As InMemoryTokenManager

はどこでもvb.netのための作業例あり、私はグーグルでの認証にdotnetopenauthからのOpenIDを使用するために管理してきましたが、今、私は連絡先を読んでこだわっています? ... 事前に感謝します!

+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の代わりにpublicにしてください。私は彼らが彼らのDLLで提供したタイプでした:) –

答えて

1

ApplicationBlockは.zipファイル内のソースディストリビューションであるため、好きなビットをコピーして自分のプロジェクトに直接貼り付けることができます。この場合、Friendクラスがうまく機能します。

+0

偉大な、それは、ありがとう!もう1つの質問:ユーザーが毎回「アクセスを許可」をクリックしなければならないのを今どのように回避できますか? – K232

+0

@ K232:これについて新しい質問をする必要があります。 –

+0

@Valamas:わかりました。私はAccessTokenを保存しなければならないと思うが、私はそれが同じユーザーであってもリクエストごとに異なることに気づいた。しかし、たぶんそれは何度も何度も「Grant Access」を押すことによって引き起こされたことでしょう。おそらくGoogleは毎回新しいトークンを作成します。私は今、トークンを保存しようとすると、それが動作しているかどうかを確認し、そうでなければ新しい質問を投稿します。ありがとう! – K232

関連する問題