- Elements available in WLanguage
- Registering the application on Facebook
- Registering a WEBDEV site on Facebook
- Configuring Facebook authentication in WINDEV, WINDEV Mobile and WEBDEV
- Establishing the connection
- Using the Facebook API
Use Facebook authentication (prefix syntax)
Facebook is the world's most popular social network. It is commonly used by companies to reach their customers. Facebook includes a very powerful API to take full advantage of the platform.
WINDEV, WEBDEV and WINDEV Mobile include two modes to use Facebook for Android and iOS applications:
- a simple mode that allows users to use their Facebook credentials to log in to the WINDEV or WINDEV Mobile application, or to the WEBDEV site. Users don't need to set a new password.
- an advanced mode to interface with Facebook in order to use the Facebook API from a WINDEV or WINDEV Mobile application, or from a WEBDEV site.
The principle is the same regardless of the selected use mode. You must:
- Register the WINDEV or WINDEV Mobile application, or the WEBDEV site on Facebook.
- Use Facebook login credentials in the WINDEV or WINDEV Mobile application, or in the WEBDEV site.
- Log in to Facebook from the WINDEV or WINDEV Mobile application, or from the WEBDEV site to authenticate.
For the advanced mode, you can use different WLanguage functions that allow you to interact with Facebook via its API.
Caution: This feature is not available for WINDEV applications in Linux.
Elements available in WLanguage
The following WLanguage elements can be used to interact with Facebook:
- the fbSession type. This type of variable contains all the elements required to implement the Facebook connection and authentication .
- several functions:
Registering the application on Facebook
Registering a WEBDEV site on Facebook
First, it is necessary to create a site in WEBDEV using Facebook authentication and/or the Facebook API.
Let's see the steps to follow (valid at the time this page was written):
- Go to "https://developers.facebook.com/".
- Log in.
- Register if necessary and follow the steps.
- In "My Apps", click "Create App".
- In the page that appears, select "Consumer".
- Click "Next".
- In the page that is appears, specify:
- The name of the application in "Add an app name".
- A valid email address in "App contact email".
- Confirm the app creation (and validate the security check, if necessary).
- The page of the new app is displayed.
- Then, click the "Settings" menu and choose "Basic".
- Note down the "App ID" and "App secret".
At this point, you can log in to the site with the Facebook user who registered the application (administrator by default).
To include other users for testing, click the "Roles" menu and add the users with the relevant rights (developers, testers, etc.). You can also create test users ("Test Users" tab) to not use existing Facebook accounts.
To actually use the application, it must be set to public and be submitted to Facebook if necessary ("App Review" option). For more details, see the Facebook documentation.
Configuring Facebook authentication in WINDEV, WINDEV Mobile and WEBDEV
Establishing the connection
To log in to Facebook, you must:
- Configure a Facebook session (fbSession variable). In the different proprerties of this variable, you must specify:
- the "App ID" and the "App secret" provided when registering the application on Facebook.
- Establish the connection with <fbSession variable>.Start.
MyConnection is fbSession
// Configure the session
MyConnection.AppID = "1664XXXXXXXXXXXX"
MyConnection.AppSecret = "c6e7XXXXXXXXXXXXXXXXX"
// Define the rights:
// - Read the email
// - Manage the pages
MyConnection.Permission = [fbEmail, "manage_pages", "publish_pages", "publish_actions"]
If the connection is permanent, the function does not show a login screen and opens the session directly.
- A Web page is displayed in the default browser, allowing users to enter their login credentials.
- A started Facebook session is a persistent session: it will remain open:
Using the Facebook API
The following example lists the pages and groups managed by the current user:
MyConnection is fbSession
sURL is ANSI string = GRAPHAPI + "me/accounts?local=en_US"
sJSON is ANSI string
vJSON is Variant
// Retrieves the pages managed by the user
sJSON = MyConnection.Request(sURL)
vJSON = JSONToVariant(sJSON)
The function returns the JSON response from Facebook.
This page is also available for…