We have created an invite function at our site in JavaScript using the Graph API where users can invite their Facebook friends to our site. The users invited then get an invite post at their wall on Facebook.
This has been workling fine until suddenly one day the messages did not show up on the invited users wall. We even still get post sucess messages from Facebook and a Post ID.
Also, we nocticed that old invite posts were removed as well from the Faceook walls. However, other functions with the same app ID still work.
When we created a new Facebook app with a new Facebook app ID the invite functions work like normal again.
As far as we know we arent breaching any rules or regulations, and we havent been notified by Facebook (although we are quite active with FB ads).
Is there some risk Facebook have blocked our app without telling us? Can they block our domain if we continue? Are there any general rules when it comes to invite? Any tips?
Facebook has many anti-spam policies and procedures in place. If a high enough percentage of users delete the post that gets added to their wall or mark it as spam or choose to hide all posts from your application, the application will get removed and the posts removed as you have experienced. They may or may not email you to warn you.
Facebook has a high level guide to follow:
Create a great user experience
Build social and engaging applications
Give users choice and control
Help users share expressive and relevant content
Be trustworthy
Respect privacy
Don't mislead, confuse, defraud, or
surprise users
Don't spam - encourage authentic
communications
I am guessing they are flagging your account for not helping users share expressive and relevant content (I am guessing they don't get to type the message that gets shared on friends wall), as well as obviously for spam.
If you want to invite users, I would suggest using the supported method for this, the Facebook requests dialog, and move away from posting (spamming) other friends walls, as they most likely can ban your whole website or account if you keep doing what you are doing.
Related
My latest project has (had) a requirement for the user to invite their friends to their online service. I discovered that, apparently, as of April 2015 with the new v2.0+ Facebook Graph API, you cannot actually get a list of friends for the user, unless those friends are already subscribed members of your app.
The scenario:
My app is a web service that lets the user collaborate on research work in a private group online. The user needs to
look up their list of friends,
set permissions their friend will have in the group, and
send them an invitation both join the service, and the specific group. (using a unique, one-time use link tied to each recipient)
The user would (ideally) receive an invitation with a specific link for them to not just become a subscriber of said online app, but specifically to join the group they were invited to (i.e. not just a generic "hey, check out this app" type of invitation).
The expectation:
The user doesn't care whether their friend is already a member of "MyApp.com". They expect to simply look up their friends just like they do today from their phone when they connect it to Facebook (makes all contacts available, regardless of whether those friends connected their Facebook to their phone, respectively). Likewise, compare inviting members to your Google docs, for example: look up your contact, set permission, send invite - so easy. Users demand this UX simplicity today and do not distinguish or care whether they are dealing with email, Facebook, Twitter contacts, whatever.
The problem:
The entire point of a social network is to be, well, social. If the Graph API only lets my app access friends that are ALREADY users of my app, it completely defeats the entire purpose - it cuts my user off at the knees, kills UX, no more ability to actually contact their own friends. My understanding is Facebook made this change to prevent developers from spamming users, and I get that, I completely support that. HOWEVER, my company and my app are not the ones that are trying to invite friends for it's own purposes, it is the USER and THEIR OWN friends that THEY have the right to access and converse with for their purposes (or so you'd think). Beyond just friends list, even if I had that, I think there are additional hurdles and limitations with posting messages to friends, even private (not wall) messages, which again would be anti-social.
The Question:
Am I understanding Facebook limitations properly, and if so, what is the work-around? I'd be ok with such an API being locked down until you pass a review that proves you aren't spamming users, but I did not see such an option.
Facebook supposedly prioritizes users over developers, and these changes were made because if the user is not comfortable with privacy (don't spam my friends), then they wont be users any longer, and that obviously affects developers and Facebook. OK, but did they not realize that by locking it down this extreme just killed UX for the user in legitimate scenarios? And to my original point, not just a little, but paramount - the result quite literally is that on April 30, 2015, Facebook became anti-social. Surely this is not inline with their mission. Surely there is a better approach.
If your app is not a game (which I assume), the only viable option would be the Message Dialog as desribed at
https://developers.facebook.com/docs/apps/faq#friend_invite
If your app is not a game and has a mobile or web presence:
You can also use the Message Dialog on iOS and Android, or the Send Dialog on Web. These products let a person send a message directly to their friends containing a link to your app. This type of message is a great channel for communicating with a smaller number of people in a direct way. The Message Dialog and the Send Dialog both include a typeahead which lets the person easily select a number of friends to receive the invite.
You might also find App Invites useful but I beleive it's only for iOS and Android apps and might not exactly fit your use case:
https://developers.facebook.com/docs/app-invites
App Invites are a content-rich, personal way for people to invite
their Facebook friends to a mobile app.
I'm developing a Page Tab App for a contest/promotion and my client wants participants to share a certain post on their own wall to be eligible for winning. I have a few questions about this:
Is that even legal, under Facebook's promotions guidelines? Note that we don't want the user to share to be able to participate, but to be eligible for winning.
How would we go around the privacy issue for each user? I mean, can we force a user to share a post publicly, even if the normal setting is - for instance - "friends only"?
Still on privacy: can I even access who shared a certain post by using the Graph API, or get a callback response from Facebook when the user shares a post? I don't think so - the only way I see it is that the contest administrators would have to check every user's wall to see if he/she shared the post publicly. Is that how it's normally done?
I know some of these questions are duplicated but couldn't find a proper answer, so I'm asking them together here.
Im toying around with integrating facbook into a website. Basically this website will generate acheivements for each user after X amount time (starting from a day up to a year).
I want to post these milestones to facebook automatically (with users prior permission). Does facebook allow this?
This article seems pretty darn explicit that its not.
But i have seen lots of posts on SO that are scheduling posts while trying to figure this out. Perhaps i have terminology's mixed up or something. Could someone explain this for me please.
If its not possible, does this mean that the only time an app can post to a users facebook wall is when the user explicitly clicks something to the effect of "post to my wall". Meaning they would need to login and manually approve every milestone?
Thanks
No, it's not possible to post something on behalf of a user automatically. According to the facebook's policy, even if a user grants you a publishing permission, actions you take on the user's behalf must be expected by the user, i.e. user must be aware of the actions you are taking on his behalf. As the article says, this can be done, for example, by prompting user with a dialog box with a link to Share a photo to their timeline each time your app would like to share to the user’s Stream.
Facebook however permits scheduled Page posts, but I guess this is not what you want. You can read more about it here.
I have an app that allows users to share the page to specific users by clicking on check boxes next to their name and then doing a bunch of posts. I received an alert in February that said I would not be able to post to friends' walls unless there is a dialog box.
However, I noticed if you sign a petition on Causes.com, they do something very similar where they post the petition to a bunch of friends' walls.
I'm curious how they get away with that. Maybe I'm not familiar enough with the Facebook API.
I'm not sure if this helps, but Facebook does have business partnerships with certain sites/companies that have more privileges to their api keys, facebook app. This could be one of these instances.
One instance of this is, when you go to a major site and the site is able to read your facebook session, and within that site they show your name and picture once the site is rendered. In essence, these sites already know who you are.
for the App we are developing now, it could be useful to find a way, when people could post the invitation to our App on the walls of their friends, but stay anonymous. For example, the post with invitation would appear as if they were sent by the App. I guess, it is not possible, but if anyone can confirm this or (hopefully) disapprove, i would be grateful!
Nope, it is not possible. You can not post anonymously (or as an app) to a user's wall.
It is possible to send an event invite anonymously*, but it shows up in events, not the wall. I presume that it’s in violation of Facebook’s polices which generally prohibit anything anonymous.
*I just received one, today. I've also been receiving spam “event” invites from people I don’t know (presumably fake or hacked accounts) starting this past week. There’s apparently an apps loophole that was revealed last year, but which Facebook has no interest in fixing.