facebook-C # -sdk MVC приложение "Hello World" - как получить токен доступа? - PullRequest
9 голосов
/ 19 ноября 2010

Я загрузил C # Facebook SDK "Простой пример веб-сайта MVC" из CodePlex по адресу:

http://facebooksdk.codeplex.com/releases/view/54371

и успешно получил его для аутентификации в моем тестовом приложении Facebook.Но я не могу понять, как получить токен доступа (и мне нужен автономный доступ, поэтому мне нужно получить этот токен только один раз, когда пользователь впервые авторизует мое приложение для получения данных фида).

Большое спасибо

Ответы [ 2 ]

9 голосов
/ 20 ноября 2010

Вы захотите сделать две вещи.Во-первых, чтобы запросить offline_access, вам нужно изменить функцию входа в Javascript, чтобы запросить автономный доступ следующим образом.Это в Views / Home / Index.aspx.

    <div id="fb-root"></div>
    <script src="http://connect.facebook.net/en_US/all.js"></script>
    <script>
        FB.init({ appId: '<%:FacebookSettings.Current.AppId %>', status: true, cookie: true, xfbml: true });
        $('#fbLogin').click(function() {
            FB.login(function (response) {
                if (response.session) {
                    window.location = '<%:Url.Action("Profile") %>'
                } else {
                    // user cancelled login
                }
            }, { perms: 'offline_access' });
        });
    </script>
</asp:Content>    

Далее, чтобы получить токен доступа, вы просто делаете следующее в действии после аутентификации пользователя:

    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");
        }
    // Read current access token:
        var accessToken = app.Session.AccessToken;

        // Get the user info from the Graph API
        dynamic me = app.Api("/me");
        ViewData["FirstName"] = me.first_name;
        ViewData["LastName"] = me.last_name;

        return View();
    }
0 голосов
/ 19 ноября 2010

Я рекомендую вместо этого работать с новым графиком API, вы можете получить его здесь

http://github.com/facebook/csharp-sdk

вот описание того, как вы получаете токен аутентификации:

http://developers.facebook.com/docs/authentication/

...