Facebook 与 Asp .Net 的集成

Posted

技术标签:

【中文标题】Facebook 与 Asp .Net 的集成【英文标题】:Facebook integration with Asp .Net 【发布时间】:2011-09-15 11:57:47 【问题描述】:

我需要将 facebook 与我的 asp .net 应用程序集成。这是我为它遵循的步骤。

    我已经从 Facebook 创建了 Facebook 应用程序,并获得了应用程序密钥和密钥。 我在我的应用程序中使用了该应用程序密钥和密钥。

这是我的代码:

但在这段代码中,"Session["facebook_userId"]" 总是给我空值。你能告诉我这是什么原因吗?

protected void Page_Load(object sender, EventArgs e)

    _fbService.ApplicationKey = FACEBOOK_APPKEY;
    _fbService.Secret = FACEBOOK_SECRET;
    _fbService.IsDesktopApplication = false;

    string sessionKey = Session["facebook_session_key"] as String;        
    userId = Session["facebook_userId"] as String;

    // When the user uses the facebook login page, 
    // the redirect back here will have the auth_token in the query params
    string authToken = Request.QueryString["auth_token"];

    if (!String.IsNullOrEmpty(sessionKey))
    
        _fbService.SessionKey = sessionKey;
        _fbService.UserId = userId;
    
    else if (!String.IsNullOrEmpty(authToken))
    
        _fbService.CreateSession(authToken);
        Session["facebook_session_key"] = _fbService.SessionKey;
        Session["facebook_userId"] = _fbService.UserId;
        Session["facebook_session_expires"] = _fbService.SessionExpires;
    
    else
    
        Response.Redirect(@"http://www.facebook.com/login.php?api_key=" +
            _fbService.ApplicationKey + @"&v=1.0");
    
    if (!IsPostBack)
    
        System.Collections.ObjectModel.Collection<User> userinfo = _fbService.GetUserInfo(_fbService.UserId);
        Label1.Text = userinfo[0].FirstName + "'s favorite shops";
        Image1.ImageUrl = userinfo[0].PictureUrl.ToString();

        // Use the FacebookService Component to populate Friends
        System.Collections.ObjectModel.Collection<User> Friends = _fbService.GetFriends();
        for (int i = 0; i < Friends.Count; i++)
            DropDownList2.Items.Add(Friends[i].FirstName.ToString());
    

请帮帮我!

【问题讨论】:

对 asp.net 不了解,但我猜你错过了 facebook 会话,通常你必须请求一个 access_token 和一个用户或应用程序会话来查询 graphapi 的大部分部分。 (例如/我) 【参考方案1】:

您使用的是哪个工具包??

我建议您使用 codeplex 的 facebooksdk。是的,正如 Rufinus 所说,您将需要 access_token 来处理对 facebook 的每个请求。我在您的代码中的任何地方都看不到它

请点击此链接。Facebook Graph API in C#

【讨论】:

我正在使用 FacebookSDK-5.0.8.0

以上是关于Facebook 与 Asp .Net 的集成的主要内容,如果未能解决你的问题,请参考以下文章

如何在 asp.net 4.5 中使用 facebook 帐户开发登录

ASP.NET 中的 Jabber 集成 [关闭]

ASP.NET Web API 和身份与 Facebook 登录

将经典 ASP 与 ASP.NET 集成

如何将 Perl 与 ASP.NET Webforms 集成?

IIS7 集成与经典管道 - 使用更多 ASP.NET 线程?