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是否損壞?