如何直接从浏览器打开Facebook App共享视图

ruh*_*gry 14 javascript facebook

编辑:Facebook iPhone应用程序支持的所有自定义URL方案是什么?

我有一个网页,我有一个Facebook共享按钮.

现在,我正在处理iPhone已安装的用户Facebook App.

当用户点击share页面我不想打开Facebook页面时,我想为他打开Facebook App.

我已经添加了一段代码:

<a href="fb://" id="shareButton">Open FB Profile</a>
Run Code Online (Sandbox Code Playgroud)

这段代码将为用户Facebook App打开.我想直接用共享视图打开App.假设我想用链接打开应用程序https://stackoverflow.com/并等待用户确认(甚至只是发布它而没有任何用户贡献).

我找到了一个包含IPhone URL Schemes的页面但是没有类似的东西fb://share.

有人已经实现了这种与Facebook App共享数据的方式吗?

我很高兴看到您的解决方案,如果可能的话,我会很高兴看到一段代码.

我试着用

<a href="fb://post?message=helloworld" id="shareButton">Open FB Profile</a>
Run Code Online (Sandbox Code Playgroud)

但没有任何反应 - 它仍然打开Facebook App但我的时间线上没有任何帖子.事实上,甚至fb://map在主视图中打开Facebook App ...

先感谢您


编辑:

我试图用另一种方式发布一些东西,但这不是我真正想做的事情.我想用对话框打开Facebook App,并要求用户分享一些东西(事实上,接受我想要分享的东西).

随着图形API资源管理器,我能够做一个GET/ POST当前的Facebook的个人资料.我还写了一个简单的JS脚本,它执行相同的操作:

<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>
Run Code Online (Sandbox Code Playgroud)

它有效,但它不是我想要的.它看起来像这样:

发表的帖子

没有任何图片或预览.

Bjö*_*ser 10

Facebook应用程序不正式支持深层链接,所以你想要做的事情是不可能的(现在).

我看到一个更大的问题,你如何检查Facebook应用程序是否已经安装?Mobile Safari不提供此类功能,尝试打开iOS设备无法理解的URL方案会导致丑陋的错误消息,只是说'...

  • 您好,谢谢您的回答。“我看到一个更大的问题......”这里有一个很好的解决方案[如何检查应用程序是否从 iPhone 上的网页安装?](http://stackoverflow.com/a/16720093/ 1021970)但无论如何我同意你的观点,当 Facebook 应用程序未安装时,系统错误有点奇怪。“现在”是什么意思——将来有可能吗? (2认同)