Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Did Facebook change their system for test user accounts?

This could be me making extrapolations from the documentation (which given how it's organized, isn't too difficult to do) but did Facebook make some big changes to how application developers create and utilize test users?

To my recollection (and I last did this about a month ago), developers used to be able to go to a url from within a logged in account that would convert that user to a 'test user', who had no privileges in the public system but could serve as a test entity for publishing, getting permissions, etc. I had a test user setup via this method and had generated access tokens for him/her that were saved to the database.

Recently this all stopped working. My first instict was to print out the properties of the Facebook object I had created, and where once there had been the JSON decoded user data, there now was an exception from the CURL process that accessed the /me/ api endpoint.

Facebook GraphAPI – Uncaught EntCannotSeeExistenceException: The entity (class EntTestUser) backed by id 12345 cannot be seen by the current viewer 12345 (EntID: 12345)

Values obviously changed to protect the innocent. The userids were identical however, which made it strange that the user possessing ID 12345 for some reason had no rights to see 12345

I looked through the Facebook documentation and found their what seems to be their new logic for making the application itself create temporary test users and generate login URLs for them, something alot of people here are probably familiar with.

http://developers.facebook.com/blog/post/429

Has this system superceded the old one? It seems that acting on behalf of test user accounts generated via the old method is no longer permitted since they are not made "by" the application. I wrote some quick logic to test this new process with fixed access tokens and it worked - I should also mention that all the application logic functions as it originally did with no errors for real user accounts. Has anyone else experienced this with their Facebook api apps? Can we definitely say that these old access tokens/userids/accounts made via that old method are now effectively useless?

Thanks as ever.

like image 705
DeaconDesperado Avatar asked Apr 06 '11 15:04

DeaconDesperado


People also ask

How can I change my Facebook account to test?

To set a custom expiration period for access to a test user's data: Go to the Dashoard and choose your app. Open Roles in the left-hand menu, and select Test User.

What is Facebook test user?

Unlike Testers, who are real people who have been granted a Tester role on your app, test users are simulated Facebook user accounts that you can use to test your app's implementation of Facebook Login and any permissions or features your app uses.

How do I accept a test request on Facebook?

After you add a new user to the "Testers" he gets a notification that he must accept, so the "Pending" will go away, and the user will be activated. This notification does not get to the Facebook home page, only to the "Developer section" of that user.

What does it mean to switch to a registered test user?

Switch to a registered test user or ask an app admin for permissions. This Error Comes because the app which is used to login in facebook , is in developement mode. So, other users can't login with their facebook. To Solve this error you have to make the App live.


1 Answers

http://developers.facebook.com/blog/post/475

I hate to break form and answer my own question, but from the comments enough people seem to be having this problem.

Digging through the developer updates today I finally found the above post (having already written workarounds, of course) Quoted:

We have removed the ability to turn user accounts in test accounts as mentioned here to prevent unintentional conversions of real accounts into test accounts. The proper way to create test accounts is by using the accounts connection of App Graph Object.

This tiny notification was mixed in with the updates for March. Probably should RSS their developer blog so these things don't take me by suprise again! This particular update became effective March 4th. In any event, it's good to have a conclusive answer right from the source.

like image 199
DeaconDesperado Avatar answered Oct 13 '22 11:10

DeaconDesperado