首先请允许我为我在这个问题上缺乏知识而道歉,但我希望能够建立起来!
我对Facebook C#API有很多困难。我正在尝试使用下载“CSPASPNETWebsite”中包含的示例。我已将我的应用程序ID和密码添加到配置文件中,并可以运行该站点。我导航到登录页面并单击Facebook按钮,然后确认我希望允许该应用访问我的数据。但是,在这样做之后,我从来没有得到认证的积极结果。
我已经尝试过几件事并继续遇到这个问题,我想知道是否有其他人有类似或知道可能导致问题的原因。我会包含代码,但它正是示例项目,配置文件适合我的应用程序。
感谢您提前阅读并感谢任何回复。
编辑:我还应该注意到我使用Visual Studio 2010和SDK 5.0.3版(Beta)在本地开发。我怀疑我的问题可能是由于提到的cookie问题here但是我无法访问IIS来尝试他们的建议
答案 0 :(得分:0)
在脚本初始化之后移动Fb:按钮,它也适用于8。
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<h2>
Log In
</h2>
<div id="fb-root">
</div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({ appId: '<%: Facebook.FacebookContext.Current.AppId %>', 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
alert("right");
window.location.reload();
} else {
alert("wrong");
// The user has logged out, and the cookie has been cleared
}
});
</script>
<p>
<fb:login-button></fb:login-button>
</p>
</asp:Content>
我原来的回答: 我相信你的问题不是你的错。 看来这些例子已经过时了。你提到的那个建立在从最后一个版本的sdk删除的顶级类上。 最近,sdk已完全更改,代码示例未更新。 你可以在这里看到,你提到的有多少变化:
http://facebooksdk.codeplex.com/SourceControl/list/changesets
例如
- 更新了CSASPNETWebsiteregistrationForm以供使用 Request.GetFacebookSignedRequest() 方法
- CSASPNET网站使用FacebookAuthorizer代替 授权人
如果您希望看到该示例正常工作,我认为您应该删除对sdk的最后一个版本的引用并引用旧版本。
我不喜欢它。