PhpRiot
News Archive
Related Articles
PhpRiot Newsletter
Your Email Address:

More information

Managing Test Users in Facebook

Note: This article was originally published at Planet PHP on 7 February 2011.
Planet PHP

Recently Facebook implemented a new and more secure way of creating test users for your applications using the new Graph API. This new resource creates test users per application, allowing the developers of these apps to login as these users and test out their app's functionality without using their own accounts and throwing test information into their live activity feed, this makes it very easy and clean to test new applications.

Its possible to create up to 100 test users per app, creation allows you to choose whether the user already should have the application installed and which permissions you want them to have, using API calls like:

POST /app_id/accounts/test-users?installed=true&permissions=read_stream

You can also remove users, list all of your app's test users and even create friend connections between them using the API. This really is a great resource, but using an API to get this information all the time is cumbersome and might take time away from your time to develop the application itself.

This is where the Test User Manager comes in.

Having ran into this exact issue when developing for Facebook, I wished i could have a aophpMyAdmina-like application to handle these requests for me and just give me a simple interface to work with. That's when the idea was born an i decided to use the idea and opportunity to simplify my life and also learn/research a few other libraries and such.

I decided to create a very simple app, without a large MVC framework, just a bunch of actions. I also took the opportunity to use a simple template engine to see how it behaves, so i chose Twig for this. Since i did not have the comfort of large MVC framework to handle my requests, i also decided to look at funkatron's Inspekt library to handle input security. Since i did not want to go through some troubles I also imported a limited set of tools from Zend Framework to handle autoloading and smaller tasks. Also having not worked with front-end too much in a while I took hold of jQuery and a few plugins to see what they could do.

All in all i had a very simple but effective app. Right now (version 0.9) it does the basics, add, lists, deletes and creates relationships between Test Users. But it handles exactly the most boring and annoying tasks. Let me show you a bit:

Listing/Managing Users

Test User Manager for Facebook: List/Manage Users

The user list will show you all of your test users, their IDs, name and permissions. With the command icons you can see the access_token, login on Facebook as the user, delete him or add new friends. Since this is a API heavy process to get all information loading is done in parallel using ajax.

Creating a User

Test User Manager for Facebook: Add user

The for to add new users is straight forward, you can add permissions and decide if the app will be installed or not for the user.

Viewing and Creating relationships

Test User Manager for Facebook: Add/View Friends

Clicking on the aoadd frienda icon you can view a list of existing relationships and choose a new user to associate with this user.

All the sou

Truncated by Planet PHP, read more at the original (another 1588 bytes)