Facebook 分享者拒绝 goo.gl 链接

标签 facebook hyperlink share short

我正在开发一个 Android html5 应用程序,我想在 Facebook 上分享一个长 URL,例如:

http://api.myserver.com/share.php?key=[MD5 HASH]

所以我首先尝试:

https://m.facebook.com/sharer.php?u=http://api.myserver.com/share.php?key=[MD5 HASH]

(将长链接 URL 编码为参数)但它不起作用,它说:找不到链接。

我认为这可能与包含链接的长 MD5 哈希值有关,因此我使用 goo.gl API 来缩短它。它返回一个字符串,例如:

http://goo.gl/xxxxx

我已经测试了 Google API 返回的缩短链接,它们确实存在。 所以我再次尝试使用 Facebook:

http://m.facebook.com/sharer.php?u=http://goo.gl/xxxxx

但是同样的事情再次发生。

为什么会发生这种情况?我尝试使用 goo.gl 缩短一些 Instagram 网址(例如),然后...你猜怎么着?它适用于 Facebook !

我不太明白我的网址出了什么问题。

最佳答案

您所要做的就是对要作为参数传递的 URL 进行编码。

在 javascript 中,您可以使用encodeURIComponent 来完成此操作。

事实上,您第一次尝试时发生的情况是,由于 URL/URI 规范,哈希值被视为 facebook 共享者 URL 的参数。

必须对 URL 中传递的不同数据进行“url 编码”。

关于Facebook 分享者拒绝 goo.gl 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11603056/

相关文章:

iphone - Facebook 给出安全警告 : Please treat the URL above as you would your password and do not share it with anyone

javascript - 如何正确插入Reactjs滚动条模块

javascript - 使用 jQuery 从表单外部的链接提交表单

vba - 从 MS Access 生成带有超链接的电子邮件

android从 Assets 文件夹中共享图像

javascript - Facebook Javascript SDK 安全问题?

javascript - CocoonJS 和 Facebook 扩展权限

excel - 您组织的策略阻止我们完成此操作 - Microsoft Office

objective-c - 只需点击一下即可在 Twitter 上发帖 - 就像 Instagram 一样

c# - 尝试在 Share Target 应用中使用 Launcher.LaunchUriAsync 赢得 Win 8