我正在尝试使用Javascript SDK在表单中显示用户的姓氏,但它无效。
HTML:
<tr>
<td align="center">Post as:</td>
<td align="center"><div id='lastname'></div></td>
</tr>
JS:
<script>
FB.init({
appId : '411404219053578',
status : true,
xfbml : true,
version : 'v2.4' // or v2.0, v2.1, v2.0
});
FB.api('/me', {fields: 'last_name'}, function(response) {
document.getElementById('lastname').innerHTML = response;
});
</script>
我做错了吗?还有什么我应该用来显示名字?
答案 0 :(得分:2)
问题是响应是Object而不是String。因此,当您将其指定为innerHTML时,它就不会像您期望的那样工作。 要解决代码中的问题,您应该指定要像这样使用last_name&#34; response.last_name&#34;或者整个街区:
var collection = drawnItems.toGeoJSON();
要获得名称,或者我认为你的名字是第一个名字,你有两个选择:
1)在您的请求中,将 first_name 添加为其中一个字段。您可以将此 {fields:&#39; last_name&#39;} 更改为此 {fields:&#39; last_name,first_name&#39;} 。我们的想法是,您可以通过用逗号分隔每个字段来请求facebook API提供的任何字段。您的案例中的完整区块可能是这样的:
FB.api('/me', {fields: 'last_name'}, function(response) {
document.getElementById('lastname').innerHTML = response.last_name;
});
2)但是,如果你想要的只是显示全名,你可以省略传递字段对象,你将得到的是全名。它看起来像这样:
FB.api('/me', {fields: 'last_name,first_name'}, function(response) {
document.getElementById('lastname').innerHTML = response.first_name + response.last_name;
});