Under this topic, Am sharing that how I implemented a functionality to post feed to users Facebook wall. I used javascript HTTP post method and Facebook Graph API to achieve this.
Am taking a hybrid mobile application was developed using Ionic and AngularJs as an example. That application has the option to share user check-ins, favorites & activity kind of stuff.
Mission
The mission is to post the recent activity of the user to the Facebook wall if share to Facebook option is enabled. The another task is to display posted via “App_Name” and the link to the respective web page in the bottom of the feed.
Mission accomplished
To accomplish the mission of posting the user data to Facebook wall I used the HTTP post method and the Facebook Graph API as I mentioned above.
Code snippets
try {
$cordovaFacebook.getLoginStatus()
.then(function(success) {
// save access_token
var accessToken = success.authResponse.accessToken;
var app_id = "Your App ID";
var content = '&message=YOUR_CUSTOM_MESSAGE&link=YOUR_TARGET_LINK&caption=POST_VIA_NAME&picture=PICTURE_URL';
var url = "https://graph.facebook.com/me/feed?app_id=" + app_id + "&access_token=" + accessToken + content;
$http.post(url).then(function(response) {
// success action
});
});
} catch (_error) {
// Error action
}
The above example of the application using Ionic & AngularJS
Note: you can use the url variable on any HTTP post or ajax calls
Code Brief
Getting the user login status before posting the feed
on success am getting the user auth token from facebook.
- app_Id = facebook developer application ID.
- YOUR_CUSTOM_MESSAGE : The message to display in the feed
- YOUR_TARGET_LINK: The URL to navigate if the user click on the Facebook post
- POST_VIA_NAME : Application / Website name.
PICTURE_URL: URL of the picture to post along with message
constructing an URL to use with HTTP post method.
Call HTTP post method. Do the success action id the call succeed else it end with “Error action”.
Drop your valuable comments in the Comment box.