ASP.Net Facebook Web Applicatoin

时间:2013-06-21 07:00:56

标签: c# asp.net facebook authorization

我一直在寻找有关使用.net(最好是C#)创建Facebook网络应用程序的教程/示例/示例,看起来所有存在的都是razor mvc应用程序。有没有理由没有开发人员在没有razor mvc的情况下在.net上创建简单的Web应用程序?

任何不使用razor或mvc的网络应用程序的链接都将受到赞赏。

由于

这真的只是介绍了facebook和我要创建的应用程序之间的整合基础(asp.net web app)

1 个答案:

答案 0 :(得分:0)

我知道大多数应用程序教程都使用了剃刀模板,但是我已经设法整合了标准的MVC4 Facebook应用程序。您需要的第一件事是标准的MVC 4模板,并通过NuGet管理器添加Facebook包。

将您的Facebook应用详情输入Web.Config

<add key="Facebook:AppId" value="xxxxxxxxxxxxxxx" />
<add key="Facebook:AppSecret" value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" />
<add key="Facebook:AppNamespace" value="" />
<add key="Facebook:AuthorizationRedirectPath" value="~/Home/Permissions" />
<add key="Facebook:VerifyToken:User" value="" />

您的家庭控制器应该看起来像这样

[FacebookAuthorize("email")]
    public async Task<ActionResult> Index(FacebookContext context)
    {
        if (ModelState.IsValid)
        {
            Session["FacebookToken"] = context.AccessToken;
            var user = await context.Client.GetCurrentUserAsync<AppUser>();
            return RedirectToAction("Index", "Account");
        }

        return RedirectToAction("Error", "Home");
    }

    // This action will handle the redirects from FacebookAuthorizeFilter when 
    // the app doesn't have all the required permissions specified in the FacebookAuthorizeAttribute.
    // The path to this action is defined under appSettings (in Web.config) with the key 'Facebook:AuthorizationRedirectPath'.
    public ActionResult Permissions(FacebookRedirectContext context)
    {
        if (ModelState.IsValid)
        {
            return View(context);
        }

        return RedirectToAction("Error", "Home");
    }

    public ActionResult FacebookInit()
    {
        return PartialView();
    }

    public ActionResult Error()
    {
        return View();
    }

虽然最重要的代码(以及导致我最多问题的那一部分)是

var client = new FacebookClient(Session["FacebookToken"].ToString());
dynamic me = client.Get("me");

这应该让您入门,Facebook API指南应该可以帮助您获取可以访问的各种用户详细信息。