16

EDIT: What are all the custom URL schemes supported by the Facebook iPhone app?

I have got a web page where I got a Facebook sharing button.

Now, I am dealing with iPhone users with already installed Facebook App.

When the user clicks share on the page I do not want to open Facebook page, I would like to open the Facebook App for him.

I have already added a piece of code:

<a href="fb://" id="shareButton">Open FB Profile</a>

This piece of code will open for user Facebook App. I would like to open the App directly with sharing view. Let's say I would like to open the App with link https://stackoverflow.com/ and waiting for user confirmation (or even just post it without any user contribution).

I found a page with IPhone URL Schemes but there is not something like fb://share.

Has someone already implemented this way of sharing data with Facebook App?

I will be really happy to see your solutions and, if it is possible, a piece of code.

I tried to use

<a href="fb://post?message=helloworld" id="shareButton">Open FB Profile</a>

but nothing happens - it still opens Facebook App but there is not any post on my timeline. In fact, even fb://map opens the Facebook App in main view...

Thank you in advance


EDIT:

I tried to use another way to publish something but it is not what I really want to do. I would like to open Facebook App with dialog and ask user to share something(in fact, to accept what I want to share).

With the Graph API Explorer I am able to do a GET/POST to the current Facebook profile. I wrote also an easy JS script which does the same action:

<script type="text/javascript">
    function publishOnFacebook() {
        var xmlhttp = new XMLHttpRequest();

        xmlhttp.onreadystatechange = function () {
            if (xmlhttp.readyState == 4) {
                console.log(xmlhttp.status);
            }
        }

        xmlhttp.open("POST", "https://graph.facebook.com/me/feed?" +
                "message=https://stackoverflow.com/q/25313299/1021970" +
                "&access_token=my_token", true);
        xmlhttp.send();
    }
</script>

It works, but it is not exactly what I want to. It looks like this:

Published post

without any picture or preview.

Community
  • 1
  • 1
ruhungry
  • 4,506
  • 20
  • 54
  • 98

1 Answers1

12

The Facebook app does not officially support deep linking so what you are trying to do is not possible (right now).

A bigger problem I see, how will you check if the Facebook app is already installed? Mobile Safari does not provide such functionality and trying to open an URL scheme the iOS device does not understand will lead to an ugly error message, just sayin'...

Björn Kaiser
  • 9,882
  • 4
  • 37
  • 57
  • 2
    Hi, thank you for your answer. `A bigger problem I see...` here is a quite good solution for that [How to check if an app is installed from a web-page on an iPhone?](http://stackoverflow.com/a/16720093/1021970) but anyway I agree with you, when the Facebook App is not installed the system error is a little bit strange. What do you mean with `right now` - will it be possible in the future? – ruhungry Aug 18 '14 at 07:39
  • 1
    By 'right now' I just want to state that this is not possible at the moment but might be in the future, this is for the case that someone comes across this answer in the future where things might have changed. I just want to outline that my answer is based on the facts at this very moment :-) – Björn Kaiser Aug 18 '14 at 11:13