Facebook Timeline App, with custom content - facebook

I would like to know if the only way, in which we can display things in the facebook timeline is by pushing those to facebook. Is there a way in which the items to be displayed could be queried just right before displaying the aggregation.
As an example, let's assume I want to post suggestions for recipes in the timeline of the user. Is the only way to do this, to post an open graph action to facebook, or is there some way, in which facebook could ask my website what the suggested recipes are:
Timeline of a fb user is opened
Request to my site is sent for the suggested recipes
my site responds with a json object
suggestions: [
{name: "Risotto", img: ..., link: ...},
{name: "Pasta", img: ..., link: ...},
...
]
The above information is displayed in the facebook timeline

I'm not really sure what you're trying to accomplish here. Timeline Apps and related custom Open Graph actions and objects are to be used to accurately and honestly describe actions that the user (whose Timeline it is) has taken in apps. So, taking your recipe idea, the app involved should only publish stories similar to these:
Recipes suggestions created by the user
The users favourite recipes
The users favourite ingredients
You can see here how this relates specifically to things that the user has done. This means that it is not reasonable that the content of the Timeline posts should change.

Related

How to get all comments from Facebook Page

I'm trying to get ALL comments (and the replies to those comments) from a Facebook page and an specific date range on API Graph.
Not just the comments from me/posts or me/feed, but all the comments my Fanpage gets, including those from Events, Products, Photos (because if you post a collection of photos the me/posts edge just include the main posts, not every single photo attached in the post), Videos, Live Videos, Offers, and, if its possible, Dark Posts (from Facebook Ads).
Is there a way to make this? I tried using me/notifications edge but most of the notifications group several comments together in a single object (E.g. "Bob, John and Mary commented on the link you shared.").
By the way, there is actually and app that makes this, called "Feed Comments" (id=9675640871), actually the responsible to send the notifications when your fanpage gets a comment.
But I don't know how it makes it.
Thanks!

"Top Posts" depending on facebook likes

I have an idea to create a "top posts" feature to my website, which creates the "top" list depending on how many likes and shares that a post have on facebook.
Users may see how many likes an post has received so far since they only have to ask for a single, defined url. However, the website itself has to be able to query all the links that are tied to itself (which have a predefined url template like website.com/[post-id]) to create the "top" list. Is it possible to do something similar (or achieve the same result in a different way)?
Any ideas on a real workflow about something like this will be appreciated!
this seems like a little but interesting project. I don't know if there is a feature that could get that directly in the way you want, but i did something similar.
First you have the Graph API, with that you can get the Posts of a user using feed, with that every post is telling you how many likes does it have which you can get with POST_ID/likes.
Then you'll have to check for changes in the post periodically comparing its created_time and updated_time.
This could seem very hard, because you have a lot of posts and you have to check them all for updates, but you can use batch_requests so you can check them all at once.
I have made a bookmarklet which shows top posts in the Facebook News Feed as well as Google+, Twitter and Instagram Profiles.
Just add a new bookmark in your bookmarks bar and replace its URL with the following code and save it, then go to the social network website and run it:
javascript:(function(){var s=document.createElement('script');s.src='https://niutech.github.io/topnewsfeed/topnewsfeed.min.js';document.body.appendChild(s);})()
The source code is available on GitHub.

Facebook "Like" Button no longer posting to wall since about 2 days ago

I have built several websites, and for some reason none of them will post to my wall anymore when I "like" a blog post, or like the site in general. (Using Iframe) Example:
http://madhatterulti.com/
http://www.reyniersaudio.com/blog/
The funny thing is, I had a friend try it, and it posted to his wall fine. Though, this person did not have timeline enabled, and I do.
Anyone have any ideas?
It appears the "like" appears in my "activity log". By default, the "like" is set to be "allowed on timeline". I am able to change this to "hidden from timeline". This setting implies to me that it should be showing up on the timeline.. yet it is not. Also, I can change the setting to "featured on timeline", but once again, this does not work.
It seems that the way the Like button works has changed (or not really!). I tried liking one of your blog posts and my own website and nothing appeared on the timeline. But reading the Like button introduction:
The Like button lets a user share your content with friends on
Facebook. When the user clicks the Like button on your site, a story
appears in the user's friends' News Feed with a link back to your
website.
And indeed, it appeared on my friend's news feed and ticker!
I suppose we cannot consider the timeline as the new news feed. Because it's not!
AND it seems that there are two ways a liked URL is going to appear on the user timeline which are
1) when the user has something to say, i.e when the user writes something along with the like:
2) if you click on the More Recent Activity block. And allow this activity to appear on your timeline.
Now maybe there are other cases (that I'm not aware of!) for a liked URL to appear in the user's timeline directly (maybe with custom Open Graph objects or a custom Facebook script that would decide for you?).
I linted one of your URLs and it states the the fb:admin and fb:app_id should be specified for better click-thru rates
Like Button Warnings That Should Be Fixed
Admins And App ID Missing: fb:admins and fb:app_id tags are missing. These tags are necessary for Facebook to render a News Feed
story that generates a high clickthrough rate
http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fwww.reyniersaudio.com%2Fblog%2Frecording-computer%2Frecording-computer-cpu-benchmarks-sandy-bridge-nehalem-and-bulldozer-processors-compared
I have timeline enabled and it did no post to my timeline at all. Strange huh?
EDIT
Based upon some comments from Roeland on other responses:
The funny thing is, this worked about a week ago. It WOULD post to my
timeline. In addition, if I go to my "activity log" it shows that I
liked something. It also supposedly lets me "allow it on the timeline"
which is the setting by default.. yet it does not show up on my
timeline
I'm wondering if it could have something to do with too many people reporting the stories as spam, or the app id was hijacked and used for spam purposes (or the domain/ip being marked as abusive, etc). Maybe this has caused Facebook to become more cautious when "showing" this liked content. ifaour has seen the content on his feed and timeline, however I could not get it to show.
My concern is that no app_id was specified and not admin was specified either. You can reuse the same app_id with many comments/like buttons (contrary to your assertion that you must have a new app id for each like button...not sure where that came from).

How can I get all the URLs (outside of Facebook) a Facebook user liked via a Like button embedded in an external site?

I tried several options:
https://graph.facebook.com/me/likes ,
https://graph.facebook.com/me/links
and a couple of FQL queries - but none returned Likes a user makes via Like buttons on external sites.
Any ideas?
You just take the Extended Permission of user_likes, you will get what you are looking for....
I think that user_likes only give you the permission to see all real objects that the user likes:
a movie,a musician...
if a page is tagged as article for example:
it won't be shown in the likes request
https://graph.facebook.com/me/likes
cause there is no object in the social graph for it:
"Note that the Open Graph protocol is currently designed to support real-life objects. If your URL is a piece of content — such as a news article, photo, video, or similar — you should set og:type to article (see below). Pages of type article do not have publishing rights, and will not show up on user's profiles because they are not real world objects."
(http://developers.facebook.com/docs/opengraph/)
I am also looking for the same api request, I'll let you know if I'll find it...
Editing:
Ok I asked this question on Facebook:
http://forum.developers.facebook.net/viewtopic.php?id=94745
and there is no way of doing that.

Is there a way to set the title in showFeedDialog?

I'm pretty sure the default title "Publish this story to your friend's Facebook Wall?" is incorrect. When the user publishes the story, it will appear on his and his friends' news feeds, but not on the walls of the user's friends. I'd like to customize the title so that it doesn't contain a lie. Is there a way for me to do that?
There is no provided way to do that. It's possible you could modify the DOM after the showFeedDialog prompt has been created, but you'd have to create your own JS to do that, and it might not be possible within the confines of FBJS.
I'm not sure where you see the problem with the title here however, unless it's a semantic interpretation. The News Feed is a subset of the data that appears on the Wall of a user. When a user confirms a feed dialog that is targeted at a friend, it will create a story on the Wall of the user as well as the Wall of the user's friend (and by extension be part of the respective news feeds as well), hence "publishing the story to your friend's wall".
Wall items do not show up on all your friend's walls... they are your wall items. If a story is part of a news feed, as showFeedDialog facilitates, then the story will be picked up and put into all your friends news feeds... but it is never saved to your friends walls.