Created
March 7, 2012 09:57
-
-
Save KarthiPnsmy/1992318 to your computer and use it in GitHub Desktop.
Create Album and Post Photos in Facebook Using Appcelerator Titanium
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// this sets the background color of the master UIView (when there are no windows/tab groups on it) | |
Titanium.UI.setBackgroundColor('#000'); | |
//FACEBOOK CREDENTIAL | |
Titanium.Facebook.appid = "134793934930"; | |
Titanium.Facebook.permissions = ['publish_stream', 'read_stream']; | |
// | |
// create root window | |
// | |
var win1 = Titanium.UI.createWindow({ | |
title:'Create Album and Post Photos in Facebook Using Titanium', | |
backgroundColor:'#fff', | |
tabBarHidden:true, | |
navBarHidden:true | |
}); | |
var title = Ti.UI.createLabel({ | |
text:'Create Album and Post Photos in Facebook Using Titanium', | |
width:320, | |
top:0, | |
left:0, | |
height:40, | |
color:'#fff', | |
backgroundColor:'#000', | |
textAlign:'center', | |
font:{fontSize:14, fontWeight:'bold', fontFamily:'Helvetica Neue'}, | |
}) | |
win1.add(title); | |
var button = Titanium.UI.createButton({ | |
color:'blue', | |
title:'Login with Facebook', | |
font:{fontSize:14, fontWeight:'bold', fontFamily:'Helvetica Neue'}, | |
textAlign:'rigth', | |
width:170, | |
height:35, | |
top:50, | |
right:5 | |
}); | |
win1.add(button); | |
var formContainer = Ti.UI.createView({ | |
backgroundColor:'#ccc', | |
height:170, | |
top:110, | |
left:20, | |
width:280, | |
borderRadius:7, | |
borderColor:'#999', | |
borderWidth:1, | |
visible:Titanium.Facebook.loggedIn | |
}) | |
win1.add(formContainer); | |
var titleInput = Ti.UI.createTextField({ | |
hintText:'Album Title', | |
backgroundColor:'#fff', | |
borderRadius:5, | |
borderColor:'#000', | |
borderWidth:1, | |
left:10, | |
top:20, | |
height:30, | |
width:180, | |
font:{fontSize:14, fontWeight:'normal', fontFamily:'Helvetica Neue'}, | |
}) | |
formContainer.add(titleInput); | |
var descInput = Ti.UI.createTextField({ | |
hintText:'Album Description', | |
backgroundColor:'#fff', | |
borderRadius:5, | |
borderColor:'#000', | |
borderWidth:1, | |
left:10, | |
top:80, | |
height:30, | |
width:180, | |
font:{fontSize:14, fontWeight:'normal', fontFamily:'Helvetica Neue'}, | |
}) | |
formContainer.add(descInput); | |
var submitButton = Titanium.UI.createButton({ | |
color:'blue', | |
title:'Create Album', | |
font:{fontSize:14, fontWeight:'bold', fontFamily:'Helvetica Neue'}, | |
textAlign:'left', | |
left:10, | |
top:130, | |
height:30, | |
width:110 | |
}); | |
formContainer.add(submitButton); | |
win1.open(); | |
button.addEventListener('click',function(e) { | |
if(Titanium.Facebook.loggedIn){ | |
var logOutWarning = Titanium.UI.createAlertDialog({ | |
title: "", | |
message: 'Are you sure want to Logout from Facebook', | |
buttonNames: ['Yes', 'No'], | |
cancel: 1 | |
}); | |
logOutWarning.show(); | |
logOutWarning.addEventListener('click', function(e) { | |
if(e.index == 0){ | |
Titanium.Facebook.logout(); | |
} | |
}); | |
}else{ | |
Titanium.Facebook.authorize(); | |
} | |
}); | |
submitButton.addEventListener('click',function(e) { | |
var aTitle = titleInput.value; | |
var aDescription = descInput.value; | |
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}); | |
} | |
createAlbum(media, aTitle, aDescription) | |
}); | |
Titanium.Facebook.addEventListener('login', function(e) { | |
if (e.success) { | |
alert('Successfully loggedin'); | |
button.title = "Logout from Facebook"; | |
formContainer.visible = true; | |
}else if (e.error) { | |
alert("Error = "+e.error); | |
} else if (e.cancelled) { | |
alert('cancelled'); | |
} | |
}); | |
Titanium.Facebook.addEventListener('logout', function(e) { | |
alert('Successfully logged out from Facebook'); | |
button.title = "Login with Facebook"; | |
formContainer.visible = false; | |
}); | |
function createAlbum(media, aTitle, aDescription) { | |
Titanium.Facebook.requestWithGraphPath('me/albums', {name: aTitle, message: aDescription}, 'POST', function(e) { | |
if(e.success) { | |
if(e.result) { | |
var response = JSON.parse(e.result); | |
var message; | |
var path = response.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"); | |
} | |
} else if(e.cancelled) { | |
Ti.API.debug("user cancelled"); | |
} else { | |
Ti.API.debug(e.result); | |
} | |
}); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment