Facebook 分享者拒绝 goo.gl 链接
Posted
技术标签:
【中文标题】Facebook 分享者拒绝 goo.gl 链接【英文标题】:Facebooks sharer rejects goo.gl link 【发布时间】:2012-07-22 18:48:29 【问题描述】:我正在开发一个 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 网址(例如),然后......猜猜怎么着?它适用于脸书!
我真的不明白我的网址有什么问题。
【问题讨论】:
【参考方案1】:您所要做的就是对您想要作为参数传递的 url 进行编码。
在 javascript 中,您可以使用 encodeURIComponent 来做到这一点。
事实上,由于 URL / URI 规范,哈希值被视为 facebook 的共享者 url 的参数。
必须对 url 中传递的不同数据进行“url 编码”。
【讨论】:
>(将长链接 URL 编码为参数)我已经做到了。 您尝试了哪种编码?你甚至可以通过完整的 url 调用,将编码的 url 作为参数? 这是我得到的一行:var facebookLink = 'http://m.facebook.com/sharer.php?u=' + encodeURIComponent(shortLink);
好的,我的意思是,你能提醒(facebookLink)然后在这里过去吗?
API 返回http://goo.gl/WvVyc
facebookLink 是:http://m.facebook.com/sharer.php?u=http%3A%2F%2Fgoo.gl%2FWvVyc
以上是关于Facebook 分享者拒绝 goo.gl 链接的主要内容,如果未能解决你的问题,请参考以下文章
sh Bash:goo.gl#使用Google URL Shortener服务(http://goo.gl)缩短网址。
markdown TCS-Mockup-App https://goo.gl/uHaLnJ
React Native 无法在应用程序 webview 中打开 url:intent://photos.app.goo.gl/