Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
367 views
in Technique[技术] by (71.8m points)

javascript - How to open Facebook App from browser directly to share view

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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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'...


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...