0

TelerikのSitefinityCMSに含まれているので、Facbook C#SDKv4.0.2を使用しています。更新しようとしましたが、Sitefinityから文句があります。

v4.0.2がまだ有効かどうか誰かが知っていますか?FB JS SDKを使用してログインし、<fb:login-button/>JavaScriptを介してAPIをクエリできます。C#SDKで試してみると、常にが表示されます(new FacebookApp).Session == null。WebフォームアプリでSDKを使用していますが、ここで使用する例はSDKのMVCの例です。

SDK MVCの例:

    public ActionResult Profile()
    {
        var app = new FacebookApp();
        if (app.Session == null)
        {
            // The user isnt logged in to Facebook
            // send them to the home page
            return RedirectToAction("Index");
        }

        // more example code ...
    }

私は似たようなことをしています:

    var app = new FacebookApp();
    if (app.Session != null)    
    {
        FormsAuthentication.SetAuthCookie(user.UserName, false);    
    }
    else
    {
        //user is logged in to facebook but has not registered.
        response.Redirect("register.aspx?needsFacebook=1", true);
    }

v.4.0.2はまだ有効ですか?これは、ユーザーがFacebookで認証されている場合に、サーバーで確認する必要がある方法ですか?

4

3 に答える 3

0

私は間違いなくバージョン5にアップデートしようとします。一方では、アップグレードで小さな問題が発生する可能性がありますが、古いバージョンでの大きな問題は回避できます。

于 2011-04-23T09:04:23.397 に答える
0

winformsとasp.netのどちらを使用しているかわかりません。どちらの方法でも、代わりにこのAPIを使用して、問題が解決するかどうかを確認してください。それが機能するかどうかを理解するのに数分しかかからないはずです。

認証するには、winformsに対して次のようにします。

これにより、フォームでボタンがクリックされたときにユーザーが認証されます。

Imports Branches.FBAPI
...
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim SI As New SessionInfo("[application_id]","applicaiton_secret")
     ' Add an event handler so that you can process
     ‘ the response when the user is authenticated
     AddHandler SI.AuthenticationResult, AddressOf ReadResponse
     ' Call the function to display a form to the user and log them into Facebook
     SI.AuthenticateUser(Me, False)
End Sub

プロセスが完了すると、イベント呼び出しReadResponseが発生し、他のすべての認証手順と同じ応答オブジェクトが含まれます。

Sub ReadResponse(ByVal FBR As Branches.FBAPI.SessionInfo.FacebookResponse)
     Label1.Text &= " - " & FBR.UserID
     Me.BringToFront()
End Sub
于 2011-04-23T13:56:58.237 に答える
0

最終的に4.2SDKのソースをダウンロードし、AssemblyInfo.csのアセンブリバージョンをバージョン4.0.2に変更して、再コンパイルしました。したがって、私はSitefinityをだまして、実際に4.2を使用しているときに4.0.2SDKを使用していると思い込ませました。これは私の最初の質問を完全に回避しましたが、少なくともすべてが現在機能しています。

于 2011-07-26T19:03:03.460 に答える