2013-02-08 22 views
0

我一直在Facebook的Canvas應用程序(ASP.NET Web窗體)中使用舊的Facebook C#SDK(版本4.0.1)。我從SDK中使用的唯一功能是授權用戶並獲取Facebook用戶標識。該API適用於安裝畫布應用但不適用於新用戶的用戶。CanvasAuthorizer.Authorize()在Facebook中C#sdk 4.0.1破?

我有下面的代碼:

Dim lFacebookApp As FacebookApp() 
Dim lCanvasAuthorizer As CanvasAuthorizer 

Dim lFacebookSettings As New FacebookSettings() 
Dim lCanvasSettings As New CanvasSettings() 

lFacebookSettings.AppId = "XXXXXXXX" 
lFacebookSettings.AppSecret = "XXXXXXXXXX" 
lFacebookSettings.CookieSupport = True 

lCanvasSettings.CanvasPageUrl = "Canvaspageurl" 
lCanvasSettings.CanvasUrl = "canvasUrl" 
lCanvasSettings.AuthorizeCancelUrl = New Uri("http://www.facebook.com") 

lFacebookApp = New FacebookApp(lFacebookSettings) 
lCanvasAuthorizer = New CanvasAuthorizer(FacebookApp, lCanvasSettings) 
lCanvasAuthorizer.Perms = "user_about_me, publish_stream" 

If (lCanvasAuthorizer.Authorize()) Then 
Dim info = lFacebookApp.Get("me") 
Dim userId = info.id 
End If 

該如何使用工作:當一個新的用戶瀏覽到www.apps.facebook.com/<appname>lCanvasAuthorizer.Authorize()自動對話框打開日誌,然後OAuth的對話框。

但是,現在它在Dim info = lFacebookApp.Get("me")

(OAuthException) Error validating access token: The session is invalid because the user logged out. 

lCanvasAuthorizer.Authorize()應該打開用戶的OAuth對話框拋出下面的錯誤,但事實並非如此。舊的Facebook C#SDK是否損壞?

回答