2

私は Android html5 アプリを開発しており、Facebook で次のような長い URL を共有したいと考えていました。

http://api.myserver.com/share.php?key=[MD5 ハッシュ]

だから私は最初に試しました:

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

(パラメーターとしてエンコードされた長いリンク 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 の URL を短縮しようとしましたが、何だと思いますか? フェイスブックと連動!

URL の何が問題なのかよくわかりません。

4

1 に答える 1

2

引数として渡したい URL をエンコードするだけです。

JavaScript では、encodeURIComponent でこれを行うことができます。

実際、最初の試行で何が起こるかというと、URL / URI の仕様により、ハッシュは Facebook の共有 URL のパラメーターと見なされます。

URL で渡されたさまざまなデータを「URL エンコード」する必要があります。

于 2012-07-22T18:51:37.597 に答える