wgx731's Technical Blog

Programmer @ National University Of Singapore.

The "Evil" Side of Facebook

| Comments

Assignment 1 of CS3216 is almost finished, we just submitted our Application Action for Facebook to review, and left with Collection only (which requires Action to be reviewed).

During the last week, we have seen the ‘evil’ side of Facebook :P, I will just put my findings below in case someone got into same ‘trap’:

  • The Request

Requests are only available for games on Facebook.com or iOS and Android apps

The primary purpose of your Canvas or Page Tab app on Facebook must not be to simply redirect users out of the Facebook experience and onto an external site.

These two lines has made it impossible to use request dialog to invite friends to a standalone Facebook application, initially we are trying to set up a redirect on Canvas page until we notice the Facebook Policy :( Luckily the assignment requirement has changed accordingly.

  • The Like Button

Facebook did ninja changes. The add comment pop-up is only suppose to appear for normal layout. Invite Friends should not use window pop-up.

Because of the changes, we need to do a lot of new fix on our website. :(

  • The Scrape

Just some points you need to be careful with:

  1. Facebook scrape will ignore changes in meta data from javascript, make sure you have different meta data for different URL without javascript.
  2. Facebook like button data-href link should be the scraped link for your object.
  3. Facebook only scrape every 24 hours, if you need to update, admin of the Facebook application need to force Facebook to update in Open Graph Debug Tool.
  4. All the object created by Facebook scrape can’t be deleted, as so far we haven’t found a way to delete the ‘testing’ objects.
  5. Facebook ignore URL with hash inside, there one may not be true, but due to our test it seems so.

That’s the reason why Nicholas and I stay away from Facebook API previously, and the experience in CS3216 Assignment 1 confirm our insight again.