Интеграция Facebook с веб-сайтом ASP.NET 4.0 (не MVC) - facebooksdk - PullRequest
1 голос
/ 07 января 2011

Я пытаюсь интегрировать мой сайт asp.net 4.0 (не MVC) с Facebook.

Я хочу получить информацию аутентифицированного пользователя.

Примеры, перечисленные в facebooksdk, основаны на MVC.Я пытался реализовать это на моем сайте, но получаю ошибки.Я поражен.

Если кто-то внедрил логику подключения к Facebook и получил информацию о пользователе с помощью facebook-c # -sdk, пожалуйста, помогите мне, как это сделать.

Я попробовал то же самое с помощью facebooktoolkit,и я могу получить информацию о пользователе.но у инструментария есть проблемы с .net 4.0.

Очень признателен за вашу помощь.

Ответы [ 3 ]

2 голосов
/ 08 января 2011

Вот пример кода о том, как защитить страницу с именем 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 голосов
/ 15 апреля 2011

Вот хороший пример Facebook Auth 2.0 с использованием Facebook SDK от codeplex

Facebook Auth 2.0 с использованием Facebook SDK

0 голосов
/ 08 января 2011

Просто выполните следующие простые действия:

  • Используйте официальный sdk: github.com/facebook/csharp-sdk.
  • Реализация процесса аутентификации самостоятельно.
  • Прочитайте документацию apk facebookk по аутентификации веб-приложений для лучшего понимания процесса аутентификации: developers.facebook.com/docs/authentication/#authenticating-users-in-a-web-application
  • Iсделали пользовательские классы Facebook для максимально возможной инкапсуляции этого процесса аутентификации.Я поделился им в своем блоге по аутентификации Facebook API, используя c # .Вы также можете использовать его для справки.
  • После получения токена доступа все сразу.Просто установите токен доступа и вызовите метод get для получения данных.
  • Если проблема не устранена, сообщите нам подробности.
...