I wanted to integrate facebook in my game. So I tested with the sample project and I got the output… So I integrated facebook in my game and used the same code that is in sample project … I was able to invite friends but fetchfriends is not working . I’m not ale to get details about my friends… I have used “sdkbox.PluginFacebook.getFriends()” and assigned it to a variable… gave a log to check the length and the output was 0…why am I not able to retrieve friend list??
Here’s my code:
sdkbox.PluginFacebook.init();
sdkbox.PluginFacebook.setListener({
onLogin: function(isLogin, msg) {
if(isLogin){
self.showText("login successful");
cc.log("logg",isLogin)
}
else {
self.showText("login failed");
cc.log("login failed",isLogin)
}
},
onAPI: function(tag, data) {
cc.log("============");
cc.log("tag=%s", tag);
cc.log("data=%s", data);
if (tag == "me") {
var obj = JSON.parse(data);
self.showText(obj.name+ "||" +obj.email+ "||" );
url = obj.picture.data.url
url = url.replace(/\\/g,"");
url = url.replace("s","");
self.showText(""+url);
imageurl=String (url);
cc.textureCache.addImageAsync(imageurl, self.imgdisp, self);
// cc.log("objest pictureeeee",url)
} else if (tag == "/me/friends") {
var obj = JSON.parse(data);
var friends = obj.data;
cc.log("consoe friens",obj.data)
for (var i = 0; i < friends.length; i++) {
cc.log("id %s", friends[i].id);
}
} else if (tag == "__fetch_picture_tag__") {
var obj = JSON.parse(data);
var url = obj.data.url;
cc.log("get friend's profile picture=%s", url);
//self.iconSprite.updateWithUrl(url);
}
},
onPermission: function(isLogin, msg) {
if(isLogin) {
self.showText("request permission successful");
}
else {
self.showText("request permission failed");
}
},
onFetchFriends: function(ok, msg) {
self.showText(ok + ":"+msg, "onFetchFriends");
var friends = sdkbox.PluginFacebook.getFriends();
cc.log("fetch friendss",friends)
cc.log("message on fetch",ok,msg,friends.length)
self.menu.removeAllChildren();
self.menu.cleanup();
for (var i = 0; i < friends.length; i++) {
var friend = friends[i];
cc.log("-----------");
cc.log(">> uid=%s", friend.uid);
cc.log(">> name=%s", friend.name);
cc.log(">> first name=%s", friend.firstName);
cc.log(">> last name=%s", friend.lastName);
cc.log(">> is installed=%s", friend.isInstalled);
var foo = ( function() {
var uid = friend.uid;
return {
onClick: function () {
var params = new Object();
params.redirect = "false";
params.type = "small";
sdkbox.PluginFacebook.api(uid+"/picture", "GET", params, "__fetch_picture_tag__");
}
};
} () );
// create menu
var label = cc.Label.createWithSystemFont(friend.name, "sans", 20);
var item = new cc.MenuItemLabel(label, foo.onClick);
self.menu.addChild(item);
if (friends.length <= 0) {
self.showText("You don't have any friend on this app", "onFetchFriends");
}
}
self.menu.alignItemsHorizontally();
},
onInviteFriendsResult:function(result, msg){
if(result){
self.showText("invite successful");
}
else{
self.showText("invite unsuccessful");
}
//self.showText(""+result+""+msg)
},
});
var btnLogin = new cc.MenuItemFont("Login", function(){
sdkbox.PluginFacebook.login();
}, this);
var btnLogout = new cc.MenuItemFont("Logout", function(){
sdkbox.PluginFacebook.logout();
}, this);
var btnCheck = new cc.MenuItemFont("Check", function(){
cc.log("==============")
cc.log("isLogin: " + sdkbox.PluginFacebook.isLoggedIn());
cc.log("userid: " + sdkbox.PluginFacebook.getUserID());
cc.log("permissions: ");
var perms = sdkbox.PluginFacebook.getPermissionList();
for (var i = 0; i < perms.length; i++) {
cc.log("===> " + perms[i]);
}
cc.log("==============")
}, this);
var btnReadPerm = new cc.MenuItemFont("Read Perm", function(){
sdkbox.PluginFacebook.requestReadPermissions(["public_profile", "email","user_friends"]);
}, this);
var btnWritePerm = new cc.MenuItemFont("Write Perm", function(){
sdkbox.PluginFacebook.requestPublishPermissions(["publish_actions"]);
}, this);
var btnInvite = new cc.MenuItemFont("Invite", function () {
/* var params = new Object();
params.fields = "name,email,picture";
sdkbox.PluginFacebook.requestInvitableFriends(params);*/
sdkbox.PluginFacebook.inviteFriends(
// "https://fb.me/322164761287181",
"https://fb.me/183358042114760",
"http://lh3.googleusercontent.com/KmXymZoxwyohXuVLiZUyTpMhVSPBSBVEefLA2Lmj2hIf1kGaKIU-htcpSu-wNGtExDBy=w300");
}, this);
var btnFetchFriends = new cc.MenuItemFont("Fetch friendsss", function () {
cc.log("friends info");
var params = new Object();
params.fields = "name,email";
sdkbox.PluginFacebook.api("/me/friends", "GET", params, "/me/friends");
sdkbox.PluginFacebook.fetchFriends();
},this);
and the log which I got for the above code:
D/cocos2d-x debug info(32496): JS: true:[]
D/cocos2d-x debug info(32496): JS: fetch friendss
D/cocos2d-x debug info(32496): JS: message on fetch true [] 0
D/cocos2d-x debug info(32496): JS: ============
D/cocos2d-x debug info(32496): JS: tag=/me/friends
D/cocos2d-x debug info(32496): JS: data={"summary":{"total_count":6},"data":[],"__debug__":
{"messages":[{"type":"info","message":"Only friends who installed this app are returned in API v2.0 and
higher. total_count in summary represents the total number of friends, including those who haven't
installed the app.","link":"https:\/\/developers.facebook.com\/docs\/apps\/changelog#v2_0"}]}}
D/cocos2d-x debug info(32496): JS: consoe friens
Can someone help me with this?