Facebook与javascript共享

时间:2012-07-17 07:39:15

标签: javascript facebook

我正在尝试在我的博客中创建“facebook share”链接。我的博客几乎是100%的javascript,因此使用opengraph标签是不可取的/不可能的。

This article建议使用'http://www.facebook.com/dialog/feed'并按照指示完成此操作。像这样:

http://www.facebook.com/dialog/feed?app_id=0000000000&link=http://www.mydomain.com&picture=http://www.mydomain.com/images/image.jpg&name=Blog&caption=Blah&description=Blah&redirect_uri=http://www.mydomain.com

问题是:登录Facebook时我一直收到此错误:

'API错误代码:100 API错误说明:参数无效 错误消息:需要有效的重定向URI。'

我的应用已使用有效的appID注册,而我根本没有转义网址。网址都在我应用的设置域中。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

我们曾经认为这是错误,因为我们将应用注册为http://mydomain.com而我们的重定向是http://www.mydomain.com。我们更改了它们以便匹配。

我们也使用以下格式(我们也不要转义网址):

<a target="_blank" href="https://www.facebook.com/dialog/feed?app_id=xxxxx&amp;link=http://www.mydomain.com&amp;picture=http://www.mydomain.com/photos/1222/thumbnail&amp;description=Blah&amp;name=Name&amp;redirect_uri=http://www.mydomain.com/"/>Share</a>

文档不指定您必须使用&amp;,但它确实适用于我们。希望它有所帮助

答案 1 :(得分:1)

我找到了实现目标的方法,但不是直接使用'feed'脚本。我在我的标题中包含了这个脚本:

<script src="https://connect.facebook.net/en_US/all.js"></script>

然后在我的点击功能中写道:

FB.init(
{
    appId : '0000000000'
});

FB.ui(
{
    method: 'feed',
    picture: 'http://www.mydomain.com/images/image.jpg',
    name: 'the name',
    link: 'http://www.mydomain.com',
    caption: 'the caption',
    description: 'the description',
    message: 'the message'
});

这不是我想写它的方式,但它以某种方式绕过登录错误并按预期工作。

答案 2 :(得分:0)

我认为最近通过JavaScript的脸书“分享”用户界面可能已经下降。我的文件看起来很好,但是只使用JavaScript UI的分享按钮突然崩溃了。让我粘贴并解释一下。

这很有效,但请注意我将图片下载到我的服务器并链接到它。

echo "<A HREF=\"http://www.facebook.com/sharer.php?u='http://www.MySite.com/page_name.php?id=$id&t=$value' \" target=_new><img src=\"images/FB_Share.png\" height=\"18\" width=\"56\"></a>";
echo "<script src=\"http://static.ak.fbcdn.net/connect.php/js/FB.Share\" 
        type=\"text/javascript\">
</script>";

在我从FB中提取图像的地方,此脚本无效。

echo "<a name=\"fb_share\" type=\"button\"
   share_url=\"http://www.MySite.com/page_name.php?id=$id\" target=_new>Share</a>
<script src=\"http://static.ak.fbcdn.net/connect.php/js/FB.Share\" type=\"text/javascript\">
</script>";

不确定这是否有帮助。这个页面适用于MONTHS,没有任何变化......我知道已对此文件进行了更改。