2010-12-12 12 views
0

DotNetOpenAuth-3.5.0.10259をダウンロードし、サンプル、特にOAuthClientサンプルを実行しようとしましたが、facebook(VS2010)で動作するようになりました。私は "歓迎、[私の名前]"を見ることができます。dotnetopenauth client.ProcessUserAuthorization()の問題

別のプロジェクトで使用しようとすると問題が発生します。私は "メソッド 'ProcessUserAuthorization'のためのオーバーロードは '0'引数"を取る "と"メソッド 'RequestUserAuthorization'のためのオーバーロードなし '0'引数を取る。

基本的に同じコードですが、私は非常に奇妙ですが、それは付属のサンプルでは動作しますが、他のプロジェクトではコンパイルされません。

私は何を欠席しましたか?

保護されたボイドをPage_Load(オブジェクト送信者、のEventArgs電子)
{
IAuthorizationState認可= client.ProcessUserAuthorization()。
(許可== NULL)場合
{
//許可要求
client.RequestUserAuthorizationを(キックオフ)。
}

プライベート静的読み取り専用FacebookClientクライアント=新しいFacebookClient
{
ClientIdentifier = ConfigurationManager.AppSettings [ "facebookAppID"]、
ClientSecret = ConfigurationManager.AppSettings [ "facebookAppSecret"]、
}。

FacebookClientクラスは、3.5.0.10259ダウンロードに含まれるサンプルのDotNetOpenAuth.ApplicationBlockプロジェクトから来ました。

+0

あなたが投稿していないコードの一部に答えがあると思います。あなたのコード内の "クライアント"オブジェクトのタイプは何ですか? Isはこの例ではまったく同じ型ですか? (派生型または基本型ではありません)。 –

+0

「クライアント」の定義を含むように上記のコードを更新しました – Andy

答えて

1

私が推測できるのは、ライブラリ内に過負荷定義がないことだけです。私はあなたが記述しているのと同じ問題を経験しましたが、私の場合、サンプルをまったくコンパイルすることができませんでした。

トリックはしかし、動作するように思われる、単純にリクエストパラメータにNULLを渡すことです:

IAuthorizationState authorization = client.ProcessUserAuthorization(null); 

はまた、あなたが「RequestUserAuthorization」方法と同じ欠落している過負荷の問題に遭遇する可能性があることに注意。

client.RequestUserAuthorization(null, null, null); 

幸運:あなたが一緒にそれらを送信したくない場合は同様に、あなたはまた、3つのパラメータごとに、null値を渡すことができます!

+0

私の場合は動作しません。 –

関連する問題