Security News
Input Validation Vulnerabilities Dominate MITRE's 2024 CWE Top 25 List
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
facebookconnect-sg-test
Advanced tools
This is the official plugin for Facebook in Apache Cordova/PhoneGap!
The Facebook plugin for Apache Cordova allows you to use the same JavaScript code in your Cordova application as you use in your web application. However, unlike in the browser, the Cordova application will use the native Facebook app to perform Single Sign On for the user. If this is not possible then the sign on will degrade gracefully using the standard dialog based authentication.
Installing this plugin directly from Cordova Registry results in Xcode using a broken FacebookSDK.framework
if you're using cordova version lower than 4.0.0. This is because the current publish procedure to NPM breaks symlinks CB-6092. Please install the plugin through a locally cloned copy or re-add the FacebookSDK.framework
to Xcode after installation.
If you're using cordova@4.0.0 or greater, symlinks inside of FacebookSDK.framework will be restored automatically in before_compile
hook. If you want to build project using Xcode, you will need to build it using CLI first to repair broken framework.
To use this plugin you will need to make sure you've registered your Facebook app with Facebook and have an APP_ID
https://developers.facebook.com/apps.
platforms/android
and platforms/ios
contain example projects and all the native code for the plugin for both Android and iOS platforms. They also include versions of the Android and iOS Facebook SDKs. These are used during automatic installation.
facebookConnectPlugin.login(Array strings of permissions, Function success, Function failure)
NOTE : Developers should call facebookConnectPlugin.browserInit(<appId>)
before login - Web App ONLY (see Web App Guide)
Success function returns an Object like:
{
status: "connected",
authResponse: {
session_key: true,
accessToken: "<long string>",
expiresIn: 5183979,
sig: "...",
secret: "...",
userID: "634565435"
}
}
Failure function returns an error String.
facebookConnectPlugin.logout(Function success, Function failure)
facebookConnectPlugin.getLoginStatus(Function success, Function failure)
Success function returns an Object like:
{
authResponse: {
userID: "12345678912345",
accessToken: "kgkh3g42kh4g23kh4g2kh34g2kg4k2h4gkh3g4k2h4gk23h4gk2h34gk234gk2h34AndSoOn",
session_Key: true,
expiresIn: "5183738",
sig: "..."
},
status: "connected"
}
For more information see: Facebook Documentation
facebookConnectPlugin.showDialog(Object options, Function success, Function failure)
Example options - Feed Dialog:
{
method: "feed",
link: "http://example.com",
caption: "Such caption, very feed."
}
App request:
{
method: "apprequests",
message: "Come on man, check out my application."
}
For options information see: Facebook feed dialog documentation, Facebook share dialog documentation
Success function returns an Object with postId
as String or from
and to
information when doing apprequest
.
Failure function returns an error String.
facebookConnectPlugin.api(String requestPath, Array permissions, Function success, Function failure)
Allows access to the Facebook Graph API. This API allows for additional permission because, unlike login, the Graph API can accept multiple permissions.
Example permissions:
["public_profile", "user_birthday"]
Success function returns an Object.
Failure function returns an error String.
Note: "In order to make calls to the Graph API on behalf of a user, the user has to be logged into your app using Facebook login."
For more information see:
App events allow you to understand the makeup of users engaging with your app, measure the performance of your Facebook mobile app ads, and reach specific sets of your users with Facebook mobile app ads.
Activation events are automatically tracked for you in the plugin.
Events are listed on the insights page
logEvent(String name, Object params, Number valueToSum, Function success, Function failure)
logPurchase(Number value, String currency, Function success, Function failure)
NOTE: Both parameters are required. The currency specification is expected to be an ISO 4217 currency code
In your onDeviceReady
event add the following
var fbLoginSuccess = function (userData) {
alert("UserInfo: " + JSON.stringify(userData));
}
facebookConnectPlugin.login(["public_profile"],
fbLoginSuccess,
function (error) { alert("" + error) }
);
If you need the Facebook access token (for example, for validating the login on server side), do:
var fbLoginSuccess = function (userData) {
alert("UserInfo: " + JSON.stringify(userData));
facebookConnectPlugin.getAccessToken(function(token) {
alert("Token: " + token);
}, function(err) {
alert("Could not get access token: " + err);
});
}
facebookConnectPlugin.login(["public_profile"],
fbLoginSuccess,
function (error) { alert("" + error) }
);
For a more instructive example change the above fbLoginSuccess
to;
var fbLoginSuccess = function (userData) {
alert("UserInfo: " + JSON.stringify(userData));
facebookConnectPlugin.getLoginStatus(
function (status) {
alert("current status: " + JSON.stringify(status));
var options = { method:"feed" };
facebookConnectPlugin.showDialog(options,
function (result) {
alert("Posted. " + JSON.stringify(result)); },
function (e) {
alert("Failed: " + e);
});
}
);
};
Using the graph api this is a very simple task:
facebookConnectPlugin.api("<user-id>/?fields=id,email", ["user_birthday"],
function (result) {
alert("Result: " + JSON.stringify(result));
/* alerts:
{
"id": "000000123456789",
"email": "myemail@example.com"
}
*/
},
function (error) {
alert("Failed: " + error);
});
Send a photo to a user's feed
facebookConnectPlugin.showDialog(
{
method: "feed",
picture:'https://www.google.co.jp/logos/doodles/2014/doodle-4-google-2014-japan-winner-5109465267306496.2-hp.png',
name:'Test Post',
message:'First photo post',
caption: 'Testing using phonegap plugin',
description: 'Posting photo using phonegap facebook plugin'
},
function (response) { alert(JSON.stringify(response)) },
function (response) { alert(JSON.stringify(response)) });
FAQs
Facebook test plugin
We found that facebookconnect-sg-test demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.