How to create a Facebook "challenge a friend" event? - facebook

We have an application that lets users challenge their friends in various challenges. Right now we issue the challenge by posting a message to their friends wall. This functionality will be removed in february so we need to find another way of issuing the challenge. What are the alternatives available?
We want the friend to get notified that the challenge has taken place and that some kind of story is generated on some wall.
We have looked at open graph actions and the mention tagging there must be done by the user herself so we can't use that to mention the selected friend. And we cant use action tagging since this is not an event that has or is happening.
It might be possible to use an open graph action referencing the built in "Profile (External)" object, but that seems to be rather messy - we just want to reference the facebook user. And we don't know if the friend would get notified of this - probably not.
The story could be published to the users own wall, but we really want the friend to be mentioned and notified.
It seems to be a rather standard use case for applications - does facebook provide this functionality anymore?
Edit: I'm thinking that maybe invoking the javascript feed dialog with a from and to setting might work. Then the user can also write a personal message for the challenge, and it should show up at both walls?

The best way to do this is by using a request: https://developers.facebook.com/docs/requests/
Of course it will not be public then, but after all it´s a direct action between the user and his friend and other users might see this as spam.
The other way (and the second best, i guess) is to use mention tagging:
https://developers.facebook.com/docs/technical-guides/opengraph/mention-tagging/
You could use Open Graph to post a dynamic link, if the mentioned user clicks on it > challenge accepted. If any other user clicks on it, he will just get redirected to the main app page.
...another idea, which is probably the very best:
use the request dialog for the challenge
after sending the request, let the user (if he wants to) post a message about it on his wall (feed dialog)

Related

Facebook Permission to Explicity Share With Admin Approval

My question is about Facebook permission over Application Shares.
I'm developing a App solution to my Customer, out of Facebook's Domain: Here's how it works:
The user access a Page where he can write a message to create a post with Image features;
He is requested to approve this post on his Facebook's Timeline;
When he finishes, the post can not be instantly posted. It will be saved among other users' messages;
When the time comes, an administrator, through a Control Panel, will check and select the best message to qualify;
Only the best message will be posted on the author's Timeline (User Timeline).
The question is:
I know that Facebook is not allowing Implicit Shares, but I don't know if posting only after an administrator input is considered implicit, because there won't be user approval on that moment. He already did it back there writing the message.
Is that possible, or I will have to make another request through Notification or something?
Thanks to the comments. Here's the answer to my own question:
The Answer is NO. Doing a post without user confirmation, even if he already did it some time ago is considered a Implicit Share, and it is no longer possible. There is another problem with the step I provided. You cannot ask for a user to publish something that won't be made instantly. If you ask to do this, it must be right on time. I think there is an exception for Pages, but that's not the point.
To comply with facebook's policy, the same functionality can be made with these steps:
The user access a Page where he can write a message to create a post with Image features;
At this moment The User is NOT asked to post this on Facebook. He is just asked to create it without mentioning Facebook itself;
When he finishes, the post will be saved among other users' messages;
When the time comes, an administrator, through a Control Panel, will check and select the best message to qualify and notify the selected user to access the link containing the message;
Here, finally, the user can see his message and is asked to post it into his timeline;
The applications must always do exactly what they tell the Users they are going to do, and you cannot ask something or request a permission for some functionality that you won't use at that moment.
Thank you!

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.

Integrating facebook 'compose new message' popup into my website

I am designing a website that will be heavily integrated with facebook. Members connect to the site via their facebook accounts and facebook authentication/permission is used to access their friends list and other information.
There are instances in which I would like the site to be able to send facebook inbox messages to selected people from the user's friends list (in a user initiated manner).
I have discovered that this is not possible through facebook permissions.
One idea that I have is to have Facebook's "Compose New Message" popup to appear overlayed on top of my site (as would appear when clicking the "Send new message" button on a user's profile page). The user would then type a message and press send (hopefully circumventing the permissions issue).
I have browsed the facebook developer docs and forums, but my technical knowledge is limited. I just want to know if this is possible or not, and to be pointed in the direction of material on how this could be achieved (so that I can pass this on to hired developers once I reach that stage)
Any help or suggestions on alternatives would be gratefully received!
Pete
The closest you can be to your goal is using the Send Button. However, this button is used to share links, which are usually open graph pages. What you can to is specify a dummy href/link so that it shows a blank page. Or, better if you actually needed a link attached, then you have no problem.
There is no way of doing it using Graph API Message Object. There are no publishing rights to this object whatever permission you ask from the user. It is read-only. Just look at the extended permission it is only read_mailbox - "READ_mailbox".
Even FQL can't help us with this.
Also, facebook is in the process of migrating to a new messaging system. So playing around with is now is not advisable.
What you can do now is utilize the Send button I mentioned above.

Facebook - Refer a friend functionality

I need to create some functionality on a clients website which lists the users friends and allows them to send a link to their inbox.
So far, I have it listing the users friends using fb.api functionality, but from what I can see, there is no way to send the users friend a message (not post to their wall, this needs to go into their inbox.)
edit: The user would log in first.
Does anyone know if this is possible? I've tried looking at fb.ui but I can't seem to find anything useful.
I think this is (or should be) impossible. I wouldn't like it at all if a third party could send me messages because one of my friends allowed it. I guess that would be my last day on Facebook.
I would suggest you look into the fbml fb:request-form doc's. It looks to me like this is what MGM is using. This allows a user to invite friends, and I think it's as close as you can get to what you are truly after.
http://developers.facebook.com/docs/reference/fbml/request-form

Editing a User's Likes on Facebook

I've been looking at the Facebook API to find some way to edit a user's Likes (that is, add or remove items from https://graph.facebook.com/me/likes/). The API doesn't say anything about it specifically, but does say this:
You can publish to the Facebook graph by issuing HTTP POST requests to the appropriate connection URLs above.
Where above, one of the connection URLs is the aforementioned https://graph.facebook.com/me/likes link. However, there's no documentation for the PROFILE_ID/likes post, and whenever I try to post it returns the error "invalid post_id".
I assume this is because to like something, you post a request to POST_ID/likes. It's a bit inconsistent. What I'm trying to do is get the user's profile to add a Page to their likes (by posting using the page's id as an "id" parameter in the post body). However, it seems like there's just no way to edit user's likes.
At the end of the day, I just want to allow a user to click a button in my application (mobile device application, not a web app) and have them add our Facebook page into their list of pages, and I've found no way of doing that short of presenting our page to them and making them click on the "Like" button manually. Many other things are supported without showing the Facebook website, like posting to their wall or making albums, but I can't find anything to do this.
Any ideas?
Looks like I can't. Not in the way I want to anyway.