Skip to content

Instantly share code, notes, and snippets.

@koriner
Last active August 29, 2015 14:25
Show Gist options
  • Select an option

  • Save koriner/b89d3b3a8d317db51a3b to your computer and use it in GitHub Desktop.

Select an option

Save koriner/b89d3b3a8d317db51a3b to your computer and use it in GitHub Desktop.
distriqt / FacebookAPI Initialisation and Login
/**
DISTRIQT FacebookAPI Extension - Example code for initialisation and login
**/
public function initExtension():void
{
if (FacebookAPI.isSupported)
{
// Initialise the extension, and the Core ANE which is required
Core.init();
FacebookAPI.init( APP_KEY );
// Add the basic event handlers for login etc
FacebookAPI.service.addEventListener( FacebookAPIEvent.SESSION_OPENED, facebook_sessionHandler );
FacebookAPI.service.addEventListener( FacebookAPIEvent.SESSION_INFO, facebook_sessionHandler );
FacebookAPI.service.addEventListener( FacebookAPIEvent.SESSION_OPEN_ERROR, facebook_sessionHandler );
FacebookAPI.service.addEventListener( FacebookAPIEvent.SESSION_OPEN_DISABLED, facebook_sessionHandler );
FacebookAPI.service.addEventListener( FacebookAPIEvent.SESSION_OPEN_CANCELLED, facebook_sessionHandler );
FacebookAPI.service.addEventListener( FacebookAPIEvent.SESSION_CLOSED, facebook_sessionHandler );
// Initialise the ANE with your Facebook App ID
FacebookAPI.service.initialiseApp( "YOUR_FACEBOOK_APP_ID" );
}
}
...
public function beginLogin():void
{
if (FacebookAPI.isSupported)
{
var permissions:Array = [ "public_profile", "email" ];
var readOnly:Boolean = true;
var useIntegratedIOSDialog:Boolean = false;
FacebookAPI.service.createSession( permissions, readOnly, useIntegratedIOSDialog );
}
}
...
protected function facebook_sessionHandler( event:FacebookAPIEvent ):void
{
switch (event.type)
{
// A session was opened successfully
case FacebookAPIEvent.SESSION_OPENED:
trace("Session opened");
trace("User ID: " + event.data.userId );
trace("Access token: " + event.data.accessToken);
trace("Expiration date: " + event.data.expirationDate);
trace("Permissions: " + event.data.permissions.join(", ");
break;
// More information about the user's session/profile is available
case FacebokAPIEvent.SESSION_INFO:
trace("Session info available");
trace( JSON.stringify(event.data) );
break;
// Triggered when a login error occurred
case FacebookAPIEvent.SESSION_OPEN_ERROR:
trace("Session open error: " + event.error);
break;
// Triggered when the user has disabled Facebook login for your application in iOS settings
case FacebookAPIEvent.SESSION_OPEN_DISABLED:
trace("Session login is disabled");
break;
// Triggered when the user cancels the sign-in process from Facebook
case FacebookAPIEvent.SESSION_OPEN_CANCELLED:
trace("User cancelled sign-in");
break;
// The session was closed
case FacebookAPIEvent.SESSION_CLOSED:
trace("Session closed");
break;
}
}
/// EOF ///
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment