我想在Facebook开发一个页面标签应用程序
直到现在我一直使用asp.net开发了画布页面应用程序,所以这将是我的第一页标签应用程序
我仍然无法获取用户信息和好友列表的身份验证请求
我使用了由computerbeacon开发的Facebook图形工具包dll,但它没有解决我的页面标签问题
任何c#或JavaScript源代码都可以帮助我,我可以使用jssdk或C#sdk,但我只是想要一个示例或链接,我可以在页面选项卡应用程序中了解这是如何实现的
我把这段代码放到我的页面上,但它说FB没有定义 如果我把connect.Facebook,all.js放到head部分这次它说fb.login在fb.init之前调用它并且dowsnt以两种方式显示权限窗口
<body>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function () {
FB.init({
appId: '396868406993330', // App ID
status: true, // check login status
cookie: true, // enable cookies to allow the server to access the session
xfbml: true // parse XFBML
});
// Additional initialization code here
};
// Load the SDK Asynchronously
(function (d) {
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) { return; }
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
} (document));
</script>
<form id="form1" runat="server">
<div>
hello world
<script>
FB.login(function (response) {
if (response.authResponse) {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function (response) {
console.log('Good to see you, ' + response.name + '.');
});
} else {
console.log('User cancelled login or did not fully authorize.');
}
}, { scope: 'email,user_likes' });
</script>
</div>
</form>
</body>
答案 0 :(得分:0)
您可以使用Facebook JavaScript SDK,即FB.login功能来请求前端的权限。
示例:
FB.login(function(response) {
if (response.authResponse) {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function(response) {
console.log('Good to see you, ' + response.name + '.');
});
} else {
console.log('User cancelled login or did not fully authorize.');
}
}, {scope: 'email,user_likes'});
请记住首先加载FB JS SDK。即。
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'YOUR_APP_ID', // App ID
channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
// Additional initialization code here
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
答案 1 :(得分:0)
Facebook-c#-sdk已经从版本5改为v6 beta(最新版本),服务器端不再有facebook认证方法..为了验证用户并获得一些数据,你需要。
通过Javascript进行身份验证,并通过发布请求将Access令牌字符串发布到服务器端。
通过facebook-c#-sdk生成登录URL,并将用户重定向到auth。对话框。
为了获得facebook-c#-sdk v6,请在NuGet中使用以下命令。
Install-Package facebook -pre
对于Javascript,只需像simon604那样引用JS库。
与客户端JS和服务器C#进行通信的一种好方法是创建一个包含访问令牌字符串的隐藏字段。