2011-01-07 10 views
1

私はasp.net 4.0(非MVC)ウェブサイトをFacebookに統合しようとしています。ASP.NET 4.0ウェブサイト(非MVC)とのFacebookの統合 - facebooksdk

認証済みのユーザー情報を取得したいと考えています。

facebooksdkにリストされているサンプルは、MVCに基づいています。私は自分のウェブサイトに実装しようとしましたが、エラーが発生しました。私は打たれました。

facebook-c#-sdkを使用してFacebookの接続ロジックを実装してユーザー情報を取得した人は、どうすればいいか教えてください。

facebooktoolkitを使って同じことを試しましたが、私はユーザー情報を取得できました。ツールキットには.net 4.0に関する問題があります。

大変ありがとうございました。

答えて

2

ProtectedPage.aspxと呼ばれるページを保護し、LogOn.aspxと呼ばれるログインページを持ってする方法についていくつかのサンプルコードです:

Login.aspxの:

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
    <h2> 
     Log In 
    </h2> 
    <p> 
     <fb:login-button></fb:login-button> 
    </p> 
    <div id="fb-root"> 
    </div> 
    <script src="http://connect.facebook.net/en_US/all.js"></script> 
    <script> 
     FB.init({ appId: 'your app id', status: true, cookie: true, xfbml: true }); 
     FB.Event.subscribe('auth.sessionChange', function (response) { 
      if (response.session) { 
       // A user has logged in, and a new cookie has been saved 
       window.location.reload(); 
      } else { 
       // The user has logged out, and the cookie has been cleared 
      } 
     }); 
    </script> 
</asp:Content> 

Login.aspxの。 CS

public partial class Login : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      FacebookApp app = new FacebookApp(); 
      Authorizer authorizer = new Authorizer(app); 
      if (authorizer.IsAuthorized()) 
      { 
       Response.Redirect(HttpUtility.UrlDecode(Request.QueryString["returnUrl"] ?? "/")); 
      } 
     } 
    } 

ProtectedPage.aspx.cs

public partial class ProtectedPage : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     FacebookApp app = new FacebookApp(); 
     Authorizer authorizer = new Authorizer(app); 
     if (!authorizer.IsAuthorized()) 
     { 
      Response.Redirect("~/Account/Login.aspx?returnUrl=" + HttpUtility.UrlEncode(Request.Url.PathAndQuery)); 
     } 
    } 
} 

私たちのCodeplex wikiには、さらに多くのサンプルと情報があります。ここで

+0

あなたが 'Request.QueryString []'にアクセスするときに知っている限り、自動的に 'UrlDecode'を呼び出します。 – rtpHarry

+0

fyi:このスレッドは、 'QueryString []'から取り出された項目を手動で 'UrlDecode'する必要はないと同意します:http://www.velocityreviews.com/forums/t108005-request-querystring-and-server-urldecode.html – rtpHarry

+0

どうもありがとうございました。私はこれらの手順に従って、作業が完了しました。 – Suren

0

ただ、これらの簡単な手順に従ってください:github.com/facebook/csharp-sdk:

  • は、公式SDKを使用してください。
  • 独自の認証プロセスを実装します。
  • は、より良い理解の認証プロセスのためのWebアプリケーションの認証にfacebookk APIドキュメントを読むdevelopers.facebook.com/docs/authentication/#authenticating-users-in-a-web-application
  • 私はカスタムFacebookのclasssを行っていますこの認証プロセスを可能な限りカプセル化します。私はfacebook api authentication using c#のブログでそれを共有しました。参照としても使用できます。
  • アクセストークンを取得した後は、すべて順調です。アクセストークンを設定し、証明データの 'get'メソッドを呼び出すだけです。
  • まだ問題が解決しない場合は、詳細をお知らせください。ここで
+0

をCodePlexのからFacebookのSDKを使用してFacebookの認証2.0の良い例でしょうか?あなたはちょうど「指示を読んでください」と言ったかもしれません。 –