Ads

Wednesday, March 7, 2012

Create Album and Post Photos in Facebook Using Appcelerator Titanium

STEP 1
User Need to be Loggedin with Facebook

STEP 2
Have to create a album using Graph API
Titanium.Facebook.requestWithGraphPath('me/albums', {name: albumTitle, message: albumDescription}, 'POST', function(e) {

// handle the response(response will have the album id)
   if(e.success) {
     if(e.result) {
        var response = JSON.parse(e.result);
        var album_id = response.id;
        var path = album_id+'/photos'; // Here response.id represents Album id
     }
   } else if(e.cancelled) {
       Ti.API.debug("user cancelled");
   } else {
       Ti.API.debug(e.result);
   }
});

STEP 3
Post photos to facebook using Graph API along with album id(which we got in previous step)

Before posting photos we have to convert photos into blob, Let assume I am having 3 images(1.jpg,2.jpg,3.jpg) inside the App_root/Resources folder. First we need to convert it into blob, then have to post it in facebook using Graph API

var aTitle = "Test Album";
var aDescription = "my description";
var media = [];      
for(var i=1; i<=3; i++){
   var file = Titanium.Filesystem.getFile(i+".jpg");
   var blob = file.read();
   media.push({'message': 'myPic', 'picture': blob});
}


var path = album_id+'/photos';

for (var m = 0; m < media.length; m++){
  Titanium.Facebook.requestWithGraphPath(path, media[m], 'POST', function(e){
     if (e.success) {
        //message = "Successfully posted in Facebook";
     } else {
        if (e.error) {
          //message = e.error;
        } else {
          //message = "Unkown result";
        }
    }
  });
}
alert("Successfully posted in Facebook");


Here is my working sample code at gist (Tested in iPhone)

4 comments:

  1. Do the same... but getting facebookerrdomain 10000 error

    ReplyDelete
    Replies
    1. Have you configured your Facebook App id and permission correctly?
      for example

      Titanium.Facebook.appid = "134793934930";
      Titanium.Facebook.permissions = ['publish_stream', 'read_stream'];

      try with this sample code(https://gist.github.com/1992318). It should work.

      Delete
  2. Hello, how is the config of app facebook

    ReplyDelete
  3. There is no sure method of telling when a slot machine is about to hit. Slot machines are ruled by Random Number Generators, which ensure a completely unpredictable end result every time you 카지노사이트 spin the reels. The best method to improve your chances to win at slots is to ask the proper questions and look for the proper numbers. There are not any easy hacks, slots tips or methods to winning on slot machines. Never play extra money than have the ability to|you probably can} afford to lose and by no means underestimate the risks of gambling dependancy — even whenever you play enjoyable slot machine video games free of charge. And if you really feel issues might be getting out of arms, search professional assist.

    ReplyDelete