Most people using social media in a professional way have probably heard about the Facebook App platform. This post will give more insight on what it is and how it can be used for Facebook users and marketers.
The Facebook App platform is a framework for developers to create applications that interact with Facebook features. Although many Facebook Apps already exist, developers can make new Apps more specifically for their own needs. Created Apps can share permitted App user and other information (see Permissions later) with outside applications via an open API (application programming interface). The Facebook App platform provides a set of APIs and tools that enable integration with their open graph (see Facebook Graph API later).
What Apps are we talking about?
The first thing you might think about when someone talks about an app is a small piece of software you install on your phone, tablet or computer. These are more specifically called ‘applets’ and, albeit similar to ‘Facebook Apps’ in some ways, they are programs that perform certain functions.
A Facebook App mainly runs within your browser and takes up no space on your computer. Their purpose and functionality lies in their integration with Facebook itself. Although you might find a Facebook App on Google Play or Apple iStore that might function as a flavour of Facebook itself, a ‘Facebook App‘ is, for example, something like a ‘Like’ button on a website.
If you don’t fully comprehend the aim of Facebook Apps, then think about it this way. Facebook is basically a website that shows content. While they show this content, they also show paid-for advertising which is how they make their money. Now we all know that Facebook, and other social media companies, mainly use content created by their users.
For Facebook the principle of engagement is also important. Engagement is any action someone takes on Facebook – likes, comments, shares, checking in and tagging. In some ways, these engagements also create content.
It would make sense to assume that Facebook would aim to get more enegagements and get their users to create more content. By creating their App platform, Facebook basically gives content creators (e.g. website owners and game, software and plugin programmers), a simple way to add more content and engagement to their (Facebook’s) website.
Let’s take the Like button as an example. It is actually one of the first Facebook Apps created by Facebook themselves. Nowadays, many websites offer a Facebook Like button somewhere on their web pages. A Like button also appears on the top of each Facebook page.
If a Facebook user (now also the App user) clicks on this button, a few things happen. Firstly, the number of likes of the page increases. Secondly, that user now ‘Follows’ the page. Thirdly, the friends of this user receives a linked notification that the user has liked a new page. Powerful stuff, right?
For the user who liked the page, each time the page owner updates content to the page’s timeline, the content will appear on that user’s feed. This way, by ‘following’ a page, the user gives permission for the page to post on their Facebook feed. By only liking a page, i.e. turning Following off, you only show support by adding to a page’s number of Likes.
More Facebook App functionality examples
Google Search and the Facebook Developers section are full of ideas on how to use Facebook Apps to your advantage. Apart from the widely used Share button and the Facebook Login App that were created by Facebook themselves, there are some very creative Apps out there which serve as good examples.
A Facebook App can target specific users, e.g. based on gender and/or a specific age range. This will not only create a specific community which is more likely to share ideas in the comment section, but also allows targeted content to be uploaded.
Rewards can be given to App users who engage in certain ways. Apps make it easier for admins to keep track of these rewards. Engagements such as commenting, liking, sharing, clicking links and even uploading content can be created and rewarded.
Another common usage of a Facebook App is a commenting system. Many web pages don’t have the infrastructure to create their own, or would like to use the Facebook infrastructure. When Facebook users comment on one of these, the comments are stored on the Facebook database. Their friends are also notified when they made a comment on a post which creates awareness and might drive more users to that page.
Although it was mentioned earlier that a Facebook App is not an ‘applet’ per se, it can include more advanced, non-Facebook related code in it too. Many Facebook Apps are in the form of, for example, a playable game with additional Facebook goodies built into them.
Facebook Graph API
Now that we understand the idea of a Facebook App, we can move onto how they integrate with Facebook.
The Facebook graph API, also called the Facebook APIs, is a set of programming tools that was created by Facebook that lets you get permitted information (see Permissions later) in and out of their database. In other words, it allows integration between Facebook and its user data and, for example, a third party website. It is used to interact between applications – whether through applications on Facebook itself or external websites and devices. The Facebook Graph API should not be confused with the Facebook Open Graph.
According to Facebook, the graph API is “a low-level HTTP-based API that Apps can use to programmatically query data, post new stories, manage ads, upload photos, and perform a wide variety of other tasks”.
An API (application programming interface) is the interface (I) between a programmed request (P) and, in this case, the Facebook Graph API (A). By using the Facebook API, various programming languages can be used to query (send/receive) data to/from Facebook’s user data.
The first step in transferring data to or from Facebook is sending a query (also referred to as a request or API call). Facebook processes these queries through its Apps infrastructure (see below). The Facebook App identifies the author of the request and authorises the request itself. Identification and authorisation is done using access tokens.
Facebook Apps infrastructure
To be able to use the Facebook graph API you will need to create a Facebook App using the Apps infrastructure on their developers pages.
I think this is also where some confusion comes in when talking about an Facebook App. This App lives on Facebook’s website. It is given a name and is identified by an App ID and protected by an App secret. Queries to access the Graph API is managed by this App. When a query is made, the Facebook App identifies the sender of the query and authorises its use. Identification and authorisation is done using access tokens.
When starting to think about what information transfer you might need for your Facebook App, we need to look at permissions first. The Facebook Graph API allows for only certain information to enter and leave its database. These are identified by Permissions. Some permissions are for extracting purposes, while others are for inserting purposes.
An example of an extracting permission is to obtain the gender (user_gender) or email address (email) of the App user. Permissions that allow an App to insert information would be something like publishing a video to a user’s timeline (publish_video).
All permissions will need the App user’s consent first. Facebook also describes these permissions as how you ask someone if you can access that data. The App user’s privacy settings combined with what you ask for will determine what you can access. When a Facebook user starts to use an App, Facebook will tell the user what permissions the App needs and ask if they are okay with it.
Nowadays, Facebook is also very strict on what certain permissions allow you to do. While two permissions (email and public_profile) are activated by default, all the other permissions needs the App to be reviewed by Facebook before they can be used.
As mentioned earlier, identification and authorisation of queries are done using access tokens. Access tokens are also called OAuth tokens. After an App user has approved the query for permissions, the App obtains an access token that provides temporary, secure access to Facebook Graph APIs. This access token is the thing that’s passed along with every API call as proof that the call was made by a specific person from a specific App.
An access token is in the form of a long string and includes information about when the token will expire and which App generated the token. It also contains the permissions that were requested and is sent to the Graph API.
Because of privacy checks, the majority of queries on Facebook need to include an access token. There are different types of access tokens to support different use cases. For more information, see the Access Tokens section on the Facebook developers’ section.