2012-11-27 158 views
2

我正在创建一个在某些页面中使用Facebook feed dialog plugin的web应用程序。当我尝试分享这些网页时,发布到新闻Feed的网址会被截断。Facebook URL被截断

我使用的是直接的URL方法。当用户想要分享内容时,她会点击一个链接,将其重定向到Feed对话框。链接组成,如下图所示:

https://www.facebook.com/dialog/feed?app_id=MY_APP_ID&link=SHARED_URL&redirect_uri=REDIRECT_URL

例如:

我在 “链接” 的网址:http://www.simplecity.com.br/DP/Index/?CID=0&UID=1

我在新闻馈送获取URL :http://www.simplecity.com.br/DP/Index/?CID=0

有没有人遇到过这个问题?任何建议?

+0

你有没有试过编码&符号('&' - >'&')? – steveax

回答

0

这种通常的原因是,当您将它传递到Direct FB URL时,会忘记encode the link

+0

我用'encodeURIComponent()'获得了最大的成功。通过这种方法证实,即使在'http:// domain.com /#target'中发送也是如此。 – noinput

0

在创建要传递给用户的URL时,是否忘记urlencode参数link(我特别想到了&)?

+0

我还是新来的网页开发..正是这个,谢谢! –

0

我最近遇到了同样的问题用一个简单的链接 - 我插入:

https://example.com/page.html

到页面后。然而,在页面上它被渲染为:

https://example.com/page.ht ...

好像只被不显示HTML扩展名的最后两个字符,由省略号表示。但是,如果您从帖子中复制链接,则会发现这些字符实际上已丢失,并且链接解析为404。如果您编辑帖子并重新插入链接,则会正确保存该链接,尽管“溢出”字符仍然隐藏elipsis。非常误导。

如果您在页面中使用Facebook Developer OG标签,然后使用Open Graph Debugger刮取链接,看起来效果最好的是什么。这将URL放入FB领域,并且它能够正确地链接正确的链接。正如你所做的那样,调试器工具为你提供反馈:“这是我们第一次看到这个URL”;如果您事先已将URL放在FB页面上,这是一个胡说。

我已经向Facebook提交了一个错误报告;但我并不期望他们拥有这个bug。