我看过很多有关ASP .NET网站与Facebook集成的文档,但即使使用Facebook C# SDK,我也没有找到一个简单的可行的例子。
我只想要一个“使用Facebook登录”的示例,并获取基本的用户信息(例如姓名,电子邮件和照片)。
你们能帮我吗?
非常感谢!
我看过很多有关ASP .NET网站与Facebook集成的文档,但即使使用Facebook C# SDK,我也没有找到一个简单的可行的例子。
我只想要一个“使用Facebook登录”的示例,并获取基本的用户信息(例如姓名,电子邮件和照片)。
你们能帮我吗?
非常感谢!
根据您的要求,使用Facebook C# SDK,下面是Canvas应用程序的路径和一些代码:
1- 从Visual Studio创建您的Web应用程序
2- 安装NuGet并通过NuGet获取Facebook C# SDK
3- 从https://developers.facebook.com/apps/
创建和配置您的应用程序。
4- 您的Web配置用于Facebook集成:
<configuration>
<configSections>
<section name="facebookSettings" type="Facebook.FacebookConfigurationSection" />
</configSections>
<facebookSettings appId="123..." appSecret="abc...." siteUrl="http://apps.facebook.com/myapp/" canvasPage="http://app.facebook.com/myapp" secureCanvasUrl="https://myapp.com/" canvasUrl="http://myapp.com/" cancelUrlPath="http://www.facebook.com/" />
...
FacebookWebContext fbWebContext = new FacebookWebContext();
//Check if user auhtenticated
bool IsAuthenticated = fbWebContext.IsAuthenticated();
您可以通过以下方法获得好友数量:
FacebookWebClient fbWebClient = new FacebookWebClient();
dynamic result = fbWebClient.Get("me/friends");
var friends = result["data"];
int frienCount = friends.Count;
对于客户端:
<body>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function () {
FB.init({
appId: '123...',
status: true,
cookie: true,
xfbml: true,
oauth:true });
};
(function () {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
} ());
<!-- rest of your html -->
</body>
登录和向JavaScript
请求权限
FB.getLoginStatus(function(response) {
console.log( response );
if ((response.status)&&(response.status=='connected')) {
//successs
} else {
//user declined
}, {scope:'user_likes, offline_access'}
});
在我的项目中,我更喜欢客户端登录,因此未注册的用户将有一个着陆页面。例如,如果提交表单,则调用上面的代码块。
注意:您必须为Internet Explorer设置P3P标头,以根据您的服务器读取/写入cookie。对于IIS,使用global.asax
:
protected void Application_BeginRequest(Object sender, EventArgs e)
{
HttpContext.Current.Response.AddHeader("p3p", "CP=\"CAO PSA OUR\"");
}
Volià