6
votes

We have a website that uses Facebook for login. We have an invite page that displays the user's facebook friends and lets then invite them through facebook:

$('.invite_container a').live('click', function() {
    var link = $(this);
    FB.ui({method: 'apprequests',
        message: "Join me on Tailored",
        to: link.attr("user_id")
    }, function(data) {
        console.log(data);
    });
});

I get the appropriate response back from Facebook, which includes the request ID and the ID's of the users who were invited. No one ever receives the invites, and when I check the request ID in the FB graph, I get returned 'false'.

Any ideas?

2

2 Answers

17
votes

A couple of sugegstions as to where to start looking:

  • Ensure your app is not in sandbox mode.
  • Ensure the user is not a test user that is sending invites.
  • Requests are only available for Desktop Canvas apps and not websites.
0
votes

I had to implement facebook ‘apprequests’ instead of the deprecated ‘appinvites’ in an existing cordova app and spent hours debugging.

So here are my lessons learned:

  • ‘apprequests’ are only available in Facebook Apps categorized as ‘games’
  • You can send notifications only to platforms (iOS, Android, Facebook web games) that are involved with the facebook app. That means, you will never receive a notification in your browser if you miss ‘facebook web games’ as platform. My expectation was to be notified in the facebook browser app if I was invited from a Mobile app.
  • If you like notifications in a browser app, you have to add ‘Facebook web games’ (formerly known as ‘canvas’) as plattform.
  • You can save yourself a lot trouble by creating test users in the app role category of your facebook app.