繁体   English   中英

Javascript-在Facebook上获得用户朋友的一张随机头像

[英]Javascript - get one random profile picture of user's friends on facebook

我试图在Facebook上显示用户朋友的随机个人资料图片,但我试图自己弄清楚,但它使登录按钮崩溃了,因此无法正常工作。 我对Javascript文件实施的代码有什么问题?

这是我尝试的代码:

    /* make the API call */
function getInfo() {
    FB.api('/friend-list-id/members', 'GET', {
      fields: 'first_name,last_name,name,id,picture.width(100).height(100)'
  }, function (response) {
    console.log(response);//Check the response in console
    document.getElementById('status').innerHTML = "<img src='" + response.picture.data.url + "'><br>" + response.name;

    }); 

Javascript:

window.fbAsyncInit = function() {
  FB.init({
    appId: '',
    xfbml: true,
    version: 'v2.5'
  });

  FB.getLoginStatus(function(response) {
    if (response.status === 'connected') {
      document.getElementById('status').innerHTML = 'We are connected.';
      document.getElementById('login').style.visibility = 'hidden';
    } else if (response.status === 'not_authorized') {
      document.getElementById('status').innerHTML = 'We are not logged in.'
    } else {
      document.getElementById('status').innerHTML = 'You are not logged into Facebook.';
    }
  });
};
(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'));

// login with facebook with extra permissions
function login() {
  FB.login(function(response) {
    if (response.status === 'connected') {
      document.getElementById('status').innerHTML = "<img src='http://www.webdevelopmenthelp.net/wp-content/uploads/2015/04/loading.gif' />";
      document.getElementById('login').style.visibility = 'hidden';
      getInfo();// Invoke it here
      name();
    } else if (response.status === 'not_authorized') {
      document.getElementById('status').innerHTML = 'We are not logged in.'
    } else {
      document.getElementById('status').innerHTML = 'You are not logged into Facebook.';
    }
  }, {
    scope: 'email'
  });
}

// getting basic user info
function getInfo() {
  FB.api('/me', 'GET', {
    fields: 'first_name,last_name,name,id,picture.width(100).height(100)'
  }, function(response) {
    console.log(response);//Check the response in console
    document.getElementById('status').innerHTML = "<img src='" + response.picture.data.url + "'><br>" + response.name;

  });


    /* make the API call */
function getInfo() {
    FB.api('/friend-list-id/members', 'GET', {
      fields: 'first_name,last_name,name,id,picture.width(100).height(100)'
  }, function (response) {
    console.log(response);//Check the response in console
    document.getElementById('status').innerHTML = "<img src='" + response.picture.data.url + "'><br>" + response.name;

    });     
}   

提前感谢

在函数登录中添加范围user_friends

{scope: 'email,user_friends'}

功能朋友

function getFriendRandom(cb) {
  FB.api('/me/friends',{
      fields: 'name,id,picture.width(100).height(100)'
    }, function (response) {
    if (response && !response.error) {
     var random = Math.floor(Math.random()*response.data.length);
     cb(response.data[random].picture.data.url);
    }
  });
}
//usage
getFriendRandom(function(image){
  console.log(image);
});

API v2.0及更高版本仅返回安装此应用的朋友。 摘要中的total_count表示朋友总数,包括尚未安装该应用程序的朋友。

阅读文档https://developers.facebook.com/docs/graph-api/reference/v2.5/user/friends

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM