0

Facebook のキャンバス アプリケーション (ASP.NET Web フォーム) で古い Facebook C# SDK (バージョン 4.0.1) を使用しています。SDK から使用する唯一の機能は、ユーザーを承認して Facebook ユーザー ID を取得することです。API は、キャンバス アプリをインストールしたユーザーに対しては機能していますが、新しいユーザーに対しては機能していません。

私は以下のコードを持っています:

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 は壊れていますか?

4

1 に答える 1

1

Facebook C# SDK バージョン 4.0.1 は廃止されました。最新バージョンを使用してください。

于 2013-02-11T15:55:55.007 に答える