How to create non-canvas Facebook App? [duplicate] - facebook

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
Putting a whole Facebook application in the timeline?
There are some apps on Facebook which does not use Canvas but they leverage Facebook Timeline well; Tumblr, ESPN, Feedly, GoodReads and name a few. They don't have Canvas but they only post the User's Activity in Timeline (Such as 'read article', 'viewed article'). I'm looking forward to create such app. Even if you search for those Apps in Facebook you will be redirected to respective website.
I've been through Facebook Documentation but its a pain. All the docs, videos and articles I read were regarding Canvas Apps however an article from insidefacebook gave me some idea about Facebook Apps still no success.
Can anyone please help with that?

To integrate your app with the Facebook TimeLine, you need to use the Open Graph API.
The Open Graph API enables users to performed more specific, high-level social actions beyond comment, like and share. For example, instead of posting a link to a review via the Graph API, a movie review app can with the Open Graph API allow users to "review" "action movies","comedies", etc. A book reader app can allow users to share when they "started reading" and "finished reading" a "Russian novel".
To implement an Open Graph app, you need to define object and actions for your app. Objects can be selected from existing object types e.g. "video" or you can implement your own app-specific custom object types, e.g. "action movie". Actions can be built in action types e.g. "watch" or custom action types, e.g. "started reading".
Here is a step-by-step tutorial on Facebook Developer on how to get started with your Open Graph app.

Related

Facebook: custom Open Graph needs Login?

I would like to share a link on Facebook and make it show up on the Timelime as a map.
I have seen some apps like Runtastic are able to publish links as maps, by definining the map coordinates inside the html source of the link.
Ideally I would like to share such links using the simple Share Dialog, without implementing the full Facebook Login systems inside my Android and iOS apps.
But I found this written on the documentation:
To publish Open Graph stories with the Share dialog, you do not need
to implement Facebook Login or ask for additional permissions. For
more information, see Share Dialog.
If you create a custom sharing UI to publishing Open Graph stories,
you need to implement Facebook Login and request the publish_actions
permission from people using your app. This also means you need to
submit your app for review, see Login Review.
Does it mean that if you want to share custom Open Graph stories, you always need to implement Facebook Login on your mobile apps?
As far as i know, and as i understand it, it depends whether you want to share it from inside your app or not.
If you want to share it from inside your app, then yes, you'll need a login.
If you are ok with just giving the link over to the facebook app, then giving permissions is al you need, and then make the final post inside facebook, as you usually are logged in aready.
How to create the Open Graph Object is described in Facebooks API:
https://developers.facebook.com/docs/sharing/opengraph/custom
And also is there another answer which could help you:
Using Facebook Open Graph Story with map attachment (GeoPoint)
I hope this helps you

Share existing post to Facebook app by id/url using Graph API

So in my app I display some Facebook posts from a predefined page. I get the posts from my server (the server gets them from Facebook directly) and this way I avoid using the Facebook SDK.
For each post, I have both the id and the URL and whenever a user presses on a post I open the Facebook app on that given post.
Now I'd like to add the possibility for users to share these posts to their profile pages, but when a user opens a post (on the Facebook app) it doesn't appear any option to share it (only like and comment). Other option would be to use the standard android sharing feature (ACTION_SEND), but whenever I share a post's URL this way the app only shares a picture from that post, not the actual post.
Any help would be much appreciated,
Regards
There is currently no way to mimic the "share" behavior that exists on the facebook.com website using graph API. The closest thing would be to use the link field that you mentioned.

If Facebook Feed dialog is deprecated, how are you to share posts on Facebook?

I have been working on a Facebook app for some time, and we are having trouble getting the app approved. I feel like Facebook's app approval process is a constantly moving target and their explanations are provide the least amount of detail possible, leaving the door open for further rejections.
We are using a Facebook app to provide sharing functionality for products that are behind a paywall. All of our share buttons are custom, so they fit in our designs (we don't want to use the out of the box buttons). We first built the app attempting to use the recommended share dialog with open graph actions and stories. The problem here is that you can only use the share dialog with a shared link. Facebook reads any open graph tags on the page to provide sharing information, but because there are many different "products" on a given page, we can't use open graph tags. Because of our environment, we couldn't use the actions or stories. Furthermore, we'd like to customize that share information, so using share dialog is not an option.
Unfortunately, we had left our open graph stories and actions in our app when we first attempted approval. In our first denial, Facebook told us that we had implemented our open graph actions and stories incorrectly. We were not using the share dialog, but the 'feed' method, which is deprecated in 2.0 but still works. Thinking that Facebook looked at our app and noticed we were not using those actions correctly, we figured if we removed those stories and actions from the app, Facebook would see our share method worked and approve us. Wrong.
We had built the share using the publish_actions permission, along with FB.login() and FB.ui(). Facebook denied us because our app did not need publish_actions. They recommended we use the share dialog which did not need login or permissions.
We removed the publish_actions permission and FB.login(). When we tested this, you could still login to Facebook and perform the share WITHOUT fb.login(). So we thought it was good to go. It was not; Facebook told us we needed to implement login(), even thought the docs say you don't need it.
Now we have reimplemented login() and are going to try to get it approved again, but I have a feeling it's going to get rejected due to the 'feed' method being deprecated.
So my questions are:
A) If you have a website providing a paid service, how do you allow your users to post to their feeds, using the newer share method, with data you'd like? Eg: "I just completed the Get Moving III workout at teamexos.com!" The post would contain no pics or links. If it had to, a link to teamexos.com would be ok.
B) How do paid sites provide open graph actions and stories? Do they have public links to their products? Do those products have their own individual pages, with their own open graph tags?
First of all, the feed dialog is not deprecated, at least not anymore. You do not need to get anything approved for it, and you certainly donĀ“t need login: https://developers.facebook.com/docs/sharing/reference/feed-dialog/
But: Your example looks like an Open Graph story, you should consider taking a look at those: https://developers.facebook.com/docs/sharing/opengraph

Have a posted song URL be an embedded music player with Facebook?

We would like our members to be able to share songs from our website and be able to listen to them inline a Facebook post.
SoundCloud is able to do this as seen in their posts on their page here.
Are they doing this through being a whitelisted member and using Open Graph Music? If not, what would be the best way to accomplish that same player functionality?
It appears as though the player is not initiated within the Facebook post until the link is clicked on.
You're correct in that it's only for whitelisted members according to their documentation here: https://developers.facebook.com/docs/opengraph/music/
Facebook Open Graph Music is only available to whitelisted partners at
this time.
If it weren't for that requirement, you'd be able to achieve what you are asking by doing a Facebook Open Graph action with the Facebook approved requirements and parameters.

Does Open Graph work only for users with enabled timeline?

I'm building an Open Graph App that should be able to publish, retrieve, and delete custom actions and custom objects in/from user profiles. I followed the step-by-step instructions and tried to publish action to my profile. I kept getting error #100 until I enabled timeline on my profile and then it worked.
My questions: does open graph work only for users with enabled timeline? what about all other facebook users who haven't enabled timeline? Is there another way to publish, retrieve and delete custom actions/objects which support all users?
Open Graph Actions are only created/published for users who have timeline and allowed publish_actions permission to your Application.
BTW, OpenGraph is a protocol not Facebook functionality:
The Open Graph protocol enables any web page to become a rich object in a social graph. For instance, this is used on Facebook to allow any web page to have the same functionality as any other object on Facebook.
The Open Graph protocol was originally created at Facebook and is inspired by Dublin Core, link-rel canonical, Microformats, and RDFa.
It is currently being consumed by Facebook (see their documentation), Google (see their documentation), and mixi. It is being published by IMDb, Microsoft, NHL, Posterous, Rotten Tomatoes, TIME, Yelp, and many many others.