Our app can post to a friend's wall successfully. However, if the message contains a url it is auto removed by Facebook. If manually posting to a friend's wall the link in the message shows up ok. Is this a Facebook app limitation? If so, is there a way around this limitation?
They're doing that to prevent link spam. Otherwise Facebook would be FILLED with links to pr0n, V14gr4 and w4r3z.
I expect that Facebook is executing a bit of Javascript in your browser when a live human posts to a wall. That Javascript would let their server know that the link was posed by a browser that supported Javascript. That's not likely to be the case for web applications that talk HTTP directly.
If I'm correct, then you will either need a Javascript interpreter integrated into your app, or if what Facebook expects as a response is simple enough, then you could just fake it out by sending a canned response.
Try looking at your friend's wall while running a Javascript debugger, then make two posts, one with and one without a link. You could also place a protocol analyzer between your compuer and the Internet.
Related
I've looked through several tutorials on using the Facebook API, but none of them address what I'm trying to do.
I'm working on a website for a small college. When the user applies online, they would like it to redirect to a page with a link that will put a post on your Facebook wall that says, "Billy just applied to Awesome State College" with a link to apply and an image of some sort (probably the school's logo).
I guess it would be similar to the way Facebook games throw up posts, saying "Gertrude just clubbed 300 baby seals in 'Clubbing Baby Animals Pro'!" But I wouldn't need to create a whole new Facebook app for this, would I?
Posting on a user's wall requires an access token, which you can get with the help of
one of Facebook SDKs, which will need your app id.
Reference for posting on user's wall:
http://developers.facebook.com/docs/reference/api/
See section Publishing.
You can use Facebook Javascript SDk as the need is simple:
http://developers.facebook.com/docs/authentication/client-side/
My application has obtained publish_stream permissions for a Facebook user.
I'd like to allow the user to post comments for a target URL directly from my mobile application, rather than opening up an embedded browser that then shows the Comment Box plugin. That is, the user doesn't necessarily want to post the link to their feed -- rather they want to participate in any Facebook comment discussion that surrounds that URL.
Naturally, I can read the comments for any URL via the Graph API (eg: a techcrunch article) but I do not know how, or if I can add comments to an arbitrary URL programmatically.
Would love to hear any other suggestions or workarounds as well. My hope is to piggy back on Facebook comments to allow my users to have a conversation surrounding URLs of interest to them. If at all possible, I'd also prefer to use Facebook, though I can see using Disqus or similar services would be another possibility.
Use graph api, demo comments here
make POST to
http://graph.facebook.com/comments/?ids=http://techcrunch.com/2011/07/22/big-surprise-the-ipad-trumps-android-tablets-at-the-office/
with field message and value "yourmessage"
I genuine Facebook API bug.
Cannot comment via Graph API on Comments Plugin (Probably try Legacy API)
Graph API
I realize these questions have been asked before on Stackoverflow, but now that FBML is being deprecated, it seems like the answer may have changed.
I have a website that utilizes the Facebook API, which in current terminology I believe makes it a Facebook Platform website. This is now a Facebook Canvas App, which are apps that appear on Facebook itself in iframes.
The Requests Dialog would seem perfect for this, if not for the fact that it's tailored for sending invites for Canvas Apps, and in my case, the Canvas App is simply a blank page assigned to me when I got a Facebook API key. I suppose I could just put a welcome screen and a link on that page for users to click-through, but it's one more click and that much more friction, and a generally hackish approach.
I've found references indicating there was once a way for users to utilize FBML to send an Application Invite, which is not the same as a Request Dialog, such that when a recipient click Accept, they were sent to a URL instead of a Facebook Canvas App. However, as I noted, FBML is in the process of being deprecated.
In light of this, how can a non-Canvas website allow users to send invites to their Facebook friends?
The requests dialog is currently the only supported way. As as alternative you can use the old Facebook REST API to call notifications.sendEmail, which will send the user an email either to their actual email account or their Facebook mail account. That page says that an equivalent graph API method will eventually come to replace this method.
I ended up using the Request Dialog, and hosting on my canvas page a redirect as per:
Redirect User to my Website on a Facebook Canvas Page
Gave the nod still to OffBySome's answer, though, because of his useful information that led me to settle on the Request Dialog.
When my Facebook app posts to the users stream those posts do not get links for Like and Comment. Other Facebook publishing apps, like Instagram, get these links.
I can't find it in my Facebook application's settings. Anyone knows how to do it?
(I think this is the same question as this one: Facebook : Like and Comment Functionality against Wall Post but I'm not sure.)
See Traroth's comment to get a more to the point description of what it is I'm asking about.
It seems Nathat Totten is right about how these links are defaults and that they are controlled by Facebook. There are three things that confuses this issue.
One is that Facebook Test Users behave a bit more special than you might think. Even when they are friends, they are not fully so. Making these default links turn up only for the user that posts them (for Test Users, mind you, I'm hoping it'll work all right for real users).
Another is the documentation for actions in the Facebook Graph API documentation for publishing Post objects:
A list of available actions on the post (including commenting, liking, and an optional app-specified action). read_stream. A list of JSON objects containing the 'name' and 'link'.
Which made me start to try find out how to include the commenting and liking links myself. I can't find this info anywhere, so maybe that changed without the above quoted documentation reflecting the change.
Anyway, if, indeed this is a Test User issue, then I don't need to do anything special to fix this. I'll try to remember to come back here when my (iPhone) app is ready for the real Facebook world and I get to see if it works in that environment or not.
I've successfully posted to a fan page as the actual page via the Graph API.
The problem is that the post says it was posted at "time via application name". Is there any way to hide this, so my post looks exactly as if I typed it directly into Facebook?
I'm building a messaging center that can easily deliver messages on many different channels, Facebook being one of them. Clients probably won't appreciate their Facebook posts linking to my application, nor do I want to set up a new Facebook application for each client.
There is no way to disable this. It is an internal Facebook system and is very deliberate on their part to show users where content comes from and make it easier to report malicious and spammy apps.