Как получить user_likes из SDK Facebook в JavaScript? - PullRequest
0 голосов
/ 17 октября 2019

Я пытаюсь получить лайки пользователя от 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": {}
}

1 Ответ

0 голосов
/ 17 октября 2019

Я нашел ответ с этим кодом:

/* make the API call */
FB.api(
    "/me/likes",
    function (response) {
      if (response && !response.error) {
        console.log(response);
var text='';
for (i = 0; i < response.data.length; i++) {
  text +=response.data[i].created_time+'<br>'+response.data[i].name;
}
document.getElementById('status').innerHTML =text;


      }
    }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...