Twitter共有リンクをメールに入れようとしています。これはメールに含まれているため、JavaScriptを信頼することはできず、「自分で作成」ツイートボタンを使用する必要があります。
たとえば、Googleへのリンクを共有する場合:
<a href="http://www.twitter.com/share?url=http://www.google.com/>Tweet</a>
これは正常に動作します。私が抱えている問題は、URLにクエリ文字列がある場合です。
<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm?bar=123&baz=456">Tweet</a>
クエリ文字列を含むURLは、TwitterのURL短縮サービスt.coを混乱させます。これをさまざまな方法でURLエンコードしてみましたが、何も動作しません。私が得た最も近いのはこれを行うことです。
<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456">Tweet</a>
ここでは、クエリ文字列のみをエンコードしています。これを行うと、t.coは正常にURLを短縮しますが、短縮されたリンクをたどると、エンコードされたURLに移動します。なるほどhttp://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456
、アドレスバーに、ブラウザに次のエラーを取得します
見つかりません
リクエストされたURL /foo.htm?bar=123&baz=456はこのサーバーで見つかりませんでした。
この問題を解決する方法について私は途方に暮れています。
編集: Re:onteria_
URL全体をエンコードしてみました。その場合、ツイートにURLが表示されません。
http://
下からすべてが含まれます