An API as a tool, really?
When most people go to buy a new car, they do not expect the dealer to hand them a kit so they can build their own, even if the directions are really good. Therefore, it’s understandable why anyone would question how an API can be qualified as an analytics tool.
To get to the point, customized development does not need to be expensive, extensive, or extreme. Rather, I’d posit that a few meaningful analytics which matter to an organization are much more useful than a sea of useless data points. If an API is easy for developers to use then it’s conceivable that custom development for analytics needn’t cost an arm and leg. Moreover, many companies already spend capital for other social media-related development, such as SEO. Therefore, I say if the API is easy and powerful enough, companies should be encouraged to explore hiring (even temporary) staff to create customized analytics pipelines.
With that in mind, I want to examine the Facebook APIs with an eye to whether their ease of use makes them a candidate for development projects, even in small organizations.
Facebook has a number of APIs available for public use, including:
- Graph API
Each one of these APIs is specifically targeted for a set of features. The Graph API, for instance, is designed to give HTTP-based access to the Facebook Social Graph. The Chat API, on the other hand, is designed for integrating with Facebook chat.
The Facebook APIs all work differently, which is a downside; however, this allows the APIs to change over time without impacting each other. For instance, a change in the chat API won’t mean the Graph API has to change necessarily. Since all of these APIs are HTTP-based, integrating with them is relatively painless because the transport layer (HTTPS) is stable, widely used, and very easy to use.
Since I cannot examine all of the Facebook APIs, I want to examine the Graph API in a bit more detail to see how it works and whether organizations at all levels could use it.
Exploring the Graph API
As the Facebook documentation notes, the Graph API is the primary way way that data is retrieved or posted to Facebook.
I headed over to the Graph API documentation page to get started. To bootstrap anyone new to the API, Facebook provides the Graph API Explorer to facilitate tinkering with the API in real time. In this example, I asked the Graph API for my basic information.
If I want more information, I simply need to provide an access token (relatively easy to obtain) and then modify my HTTP request; for instance, to also get my “about” and “birthday” fields, my query to the API is:
That is incredibly easy! With the proper access token, it’s possible to obtain many users’ fields and walk through their social network. It’s not possible to go beyond that; however, you can get most of their “friend circle” data which could potentially be very handy.
You can also use Facebook Query Language (FQL) to find data. For instance, this query will return the IDs of my friends.
fql?q=SELECT uid2 FROM friend WHERE uid1=me()
The Facebook Graph API was extremely easy to use and I do not think it’s unrealistic that a business could hire a small amount of development time to get custom analytics designed specifically for their business. For instance, a Graph API integration could link my customer list with Facebook accounts so I could tell when someone has moved; maybe I am a cupcake shop and I want to send them a free treat when they are engaged.
There are and will continue to be countless options for analytics tools on the market. I’d question, however, whether buying (and in many cases an expensive) an off-the-shelf tool will really be the best option for many companies.