【发布时间】:2019-10-17 09:54:08
【问题描述】:
我正在尝试从 Facebook 获取用户的喜欢,我一直在寻找一个示例,但没有找到。使用我拥有的代码,我可以获取用户的个人资料信息,例如姓名、邮件、性别...... 这是我的代码:
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'appid',
xfbml : true,
version : 'v4.0'
});
FB.getLoginStatus(function(response){
if(response.status === 'connected'){
document.getElementById('status').innerHTML = 'we are connected';
} else if(response.status === 'not_authorized') {
document.getElementById('status').innerHTML = 'we are not logged in.'
} else {
document.getElementById('status').innerHTML = 'you are not logged in to Facebook';
}
});
// FB.AppEvents.logPageView();
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
function login(){
FB.login(function(response)
{
if(response.status === 'connected')
{
document.getElementById('status').innerHTML = 'we are connected';
FB.api
(
'/me', 'GET', {fields: 'name,id,email,favorite_teams,picture,address,locale,location,meeting_for,gender'},
function(response)
{
document.getElementById('status').innerHTML = response.email+'<br>'+response.favorite_teams+'<br><img src="'+response.picture+'" /><br>'+response.name+'<br>'+response.address+'<br>'+response.locale+'<br>'+response.location+'<br>'+response.meeting_for+'<br>'+response.gender;
}
);
/* make the API call */
FB.api(
"/me/likes",
function (response) {
if (response && !response.error) {
alert(response);
}
}
);
alert('after likes');
}
else if(response.status === 'not_authorized') {
document.getElementById('status').innerHTML = 'we are not logged in.'
} else {
document.getElementById('status').innerHTML = 'you are not logged in to Facebook';
}
}, {scope: 'email,groups_access_member_info,publish_to_groups,user_age_range,user_birthday,user_events,user_friends,user_gender,user_hometown,user_likes,user_link,user_location,user_photos,user_posts,user_tagged_places,user_videos'});
}
function logout(){
FB.logout(function(response) {
document.location.reload();
});
}
</script>
<div id="status">
</div>
<!-- <button onclick="getInfo()">Get Info</button> -->
<button onclick="login()">login</button>
<button onclick="logout()">logout</button>
但我不知道如何从 JSON 响应中提取用户喜欢的内容 JSON 响应如下所示:
{
"data": [],
"paging": {},
"summary": {}
}
【问题讨论】:
-
永远不要使用警报进行调试,console.log 要好得多并且可以正确显示对象。话虽如此,您是否正在尝试使用应用程序管理员?是否会在身份验证弹出窗口中询问您 user_likes 权限?
-
感谢 @luschn 我使用了 console.log 并获得了想要的信息
标签: javascript facebook sdk