質問: "http://twitter.com/share?url=" + escape(url) + "&text='" + s +"'"; window.open(url,"_blank","width=600,height=300"); } } } ``` JavaScript3行目の変数[s]を任意のテキストにすると動作するのですが、上記の記述にすると動作しません。 以上、改善方法を教えていただけないでしょうか。また、改善するのにTwitterAPIなどが必要な場合は補足いただけますと幸いです。 よろしくお願いいたします。
回答: 私の方でローカルファイル実行(file:///)とWebサーバー上で実行(http)で試したのですが、現象が再現確認できませんでした。 GoogleChrome最新、FireFox最新で試しています。 幾つか試していただきたいので、下記、ご確認ください。 * httpsにする ``` url = "https://twitter.com/share? //以下略 ``` * 取得テキストを設定している部分で囲っているシングルクォートを除く ``` url = "https://twitter.com/share?url=" + escape(url) + "&text=" + s ; ``` 400エラーは送信したリクエストが不正(または不正な形式)であることを示すエラーです。 * エラー メッセージ : HTTP エラー 400 リクエストの作り方に何かしら問題があるのかもしれません。 送ろうとしているメッセージに不正な文言が紛れ込んでいたとか、 文字数制限をオーバーしたとか・・・。 いずれにしてもTwitterは140字という文字制限がありますし、ツイートに載せるURLも含まれているとしたら、打ち込めるコメントの文字数も更に短くなります。 その観点からも確認してみてください。urlを渡さないようにするとか、短いコメントだけ送信してみるとか。