2011-01-24 14 views
0

私はFacebookからDeAuthコールバックを.NETのMVC3で処理しようとしていますので、UserIdを取得してデータベースからユーザーを削除できます。私はthis answerからのコードを使用して(デバッグ目的)ログファイルへの書き込みアクションを作成しましたFacebookのDeAuthコールバックをC#SDKで使用しています

FacebookApp app = new FacebookApp(); 
string accessToken = app.Session.AccessToken; 
long userId = app.UserId; 

は、最初に私のコードはappnullであることで失敗しました。私はその後、をControllerに追加しようとしましたが、あまり役に立ちませんでした。代わりに追加する必要がある他の属性がありますか?それとも私は間違っている何か他にありますか?

編集:

私はSDKのバージョン4.2.1を使用しています。

編集2:Patから おかげで私は、次のコードは、(アクションまたはコントローラ上の任意の属性なし)仕事をしていることを考え出しました。

​​

答えて

2

私はFacebookがあなたのDEAUTHページにヒットしたときに来るsigned_requestを解析することにより、次の操作を行います。

string signedRequestValue = Request.Form["signed_request"]; 
var app = new FacebookApp(); 
var sig = app.ParseSignedRequest(signedRequestValue); 
long userid = sig.UserId; 

私はParseSignedRequestを公開するために変更する必要がありましたSDK(以前のリリースを使用していますそれはプライベートだった)が、私はあなたが使用している最新のリリース4.2.1の公開方法だと信じています。

+0

私は正しい道に私を設定していただきありがとうございます。コードは実際にあなたが提案したものよりもさらに簡単でした。 –

関連する問題