我无法找到任何人回答有关如何在SQL Server数据库中存储Facebook用户ID(或任何其他信息,如姓名,生日......等)的具体问题。
我正在使用在https://developers.facebook.com/docs/facebook-login/login-flow-for-web/v2.2
上提供的ASP.NET中开发的网站的Javascript SDK据我所知,Facebook允许您指定范围,您可以在Java中检索这些值,但我需要以某种方式从登录后面的代码(C#)获取Facebook UserID,然后存储在数据库中
我已阅读有关使用隐藏字段的信息,并尝试将其显示在标签上,但标签仍为空白......
见下文
function testAPI() {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function (response) {
console.log('Successful login for: ' + response.name);
document.getElementById('status').innerHTML =
'Thanks for logging in, ' + response.name + '!';
ValueHiddenField.Value = FB.response.id; }
);
}
和
<asp:hiddenfield id="ValueHiddenField"
value=""
runat="server" OnValueChanged="ValueHiddenField_ValueChanged" OnLoad="ValueHiddenField_Load"/>
并在代码背后:
protected void ValueHiddenField_ValueChanged(object sender, EventArgs e)
{
lbl_test.Text = ValueHiddenField.Value;
}
protected void ValueHiddenField_Load(object sender, EventArgs e)
{
lbl_test.Text = ValueHiddenField.Value;
}
有人能告诉我我在使用隐藏字段做错了吗?或者是否有其他方法可以获取userID并在代码隐藏中使用它。感谢
答案 0 :(得分:0)
我很确定如果您检查浏览器控制台日志,您应该找到类似于以下内容的内容
无法读取未定义
的属性'id'
由于这段代码ValueHiddenField.Value = FB.response.id;
值为response.id
而非FB.response.id
这很可能是因为你的标签是空白的。