【问题标题】:Facebooks sharer rejects goo.gl linkFacebook 分享者拒绝 goo.gl 链接
【发布时间】: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 网址(例如),然后......猜猜怎么着?它适用于脸书!

我真的不明白我的网址有什么问题。

【问题讨论】:

    标签: facebook hyperlink share short


    【解决方案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
    猜你喜欢
    • 1970-01-01
    • 2013-08-17
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 2021-03-19
    • 2020-12-24
    • 2011-09-16
    • 1970-01-01
    相关资源
    最近更新 更多