Facebook contest / promotion app force user to share post - facebook

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.

Related

Is Scheduling Posts Permitted By Facebook?

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.

Facebook will not allow me to post to a user's wall without a dialog. How can causes.com get away with it?

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.

Policy query - iframe app posting to multiple (5) friends wall

After some advice.
I have a client wishing to have an app which lets them download a voucher to redeem in store but only after they post details of this offer onto 5 friends' walls.
My understanding of current Facebook policy suggests that:
1) Promotions can't require users to take any action on Facebook other than to like the page (likegate);
2) Messages posted to multiple friends at once should be unique and personally initiated - i.e. an app shouldn't bulk post to multiple users. Instead users should share things on their own wall....
Am I correct in this understanding?
If so, can anyone point me at the relevant facebook policies - can't seem to find them on the site.
Yes, those are exactly what I read on the policies page. However to be absolutely sure, you should have your corporate attorney read them and consult with you.
See
http://developers.facebook.com/policy/
and
http://www.facebook.com/promotions_guidelines.php

Facebook invite problems, please help

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.

Check whether user of non-facebook app likes/shares particular URL on FB

I'd like to know if there is a possibility to check (using Graph API or any other way) whether given user likes / shares a specific link. Probably I'll have this user's facebook ID or facebook login, but my site is non-Facebook application. Actually it's Dot Net Nuke portal (target: .NET with MS SQL Server) with part of it being avaliable as Facebook app, but certainly not greater part of it, so the solution should be out of Facebook Connect, although it's not a showstopper if it's necessary.
We'll be giving points to users who share/like most of links that we serve in our portal and such possibility would be a great help to make a ranking.
Another option we consider is making some kind of "wrapper" or proxy for FB like / share buttons which will at first save some data in our database (probably - this user clicked on like for this link) and then go on with standard FB like / share route. Did anybody of You tried such solution?
If You have any other suggestion on the subject, please, post them, we'll be really thankful.
It is possible to know if a user has LIKED a site or not. You can get all user's likes with Graph API (you need user_likes permission). Take a look at the docs: http://developers.facebook.com/docs/reference/api/user/
I'm not sure if you can know if he has shared your site, but you could try by parsing his wall with the read_stream permission and then look for your site name/URL post by post.
For just general liking of items on your site, you can use a Facebook Social Plugin. However, you won't be able to associate (or really even access) user activity with users on your site without integrating Facebook Connect and creating a Facebook application for your site. At that point you can design with greater control all the possible user activity and interleave with your facebook calls other calls that affect users' accounts on your site.