我正在开发Android html5应用程序,我想在Facebook上分享一个很长的网址,如:
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来缩短它。它返回一个字符串,如:
我已经测试了Google API返回的缩短链接,并且它们存在。 所以我再次尝试使用Facebook:
但同样的事情又发生了。
为什么会这样?我试图用goo.gl缩短一些Instagram网址(例如),然后......猜猜是什么?它适用于Facebook!
我真的不明白我的网址有什么问题。
答案 0 :(得分:2)
您所要做的就是将要传递的网址编码为参数。
在javascript中,您可以使用encodeURIComponent执行此操作。
事实上,第一次尝试会发生的事情是,由于URL / URI规范,哈希被视为facebook的共享者网址的参数。
必须“url编码”在网址中传递的不同数据。