(2011.06.18 追記)
この記事の内容は少し古くなっていて、現在の仕様と異なる部分があるかもしれません。(たとえば、こちらのページをみると、無料会員の一日の視聴回数上限は20回まで、に書き換えられています)。また、記事の中で使っている画像は、FC2 の旧プレイヤーのものです。
(追記、おわり)
サイトスクリプトwiki の FC2動画のページで、 「FC2動画のサイトスクリプトを最新のものにしているのに、取得失敗になる」という内容のコメントを時々いただきます。各々の状況がちょっとよくわからないので断定することはできませんが、その多くは、FC2動画の「視聴回数制限」に引っ掛かっているのではないか、と思っています。
FC2動画の「視聴回数制限」について簡単にまとめておきます。
- 非ログインユーザーは、1日3回まで。
非ログインユーザーは、1日に3本を越える動画を視聴しようとすると、会員登録を促す画面が表示されて、動画の視聴ができなくなります。無料会員(あるいは有料会員)に登録してログインすれば、この制限は解除されます。
この場合、視聴回数のカウントは Cookie で行われています。Cookie の有効期限(expires)は24時間後に設定されます。また、ログインした場合の情報は、Cookie の情報として保存・送信されます。
FC2動画のサイトスクリプト FC2.site.js は、ブラウザ(IE)と Cookie を共有するようにしていますので、この規制によって「ブラウザ側では視聴できるのにスクリプト側で動画のURLが取得できない」という状況は起こりにくいだろうと思います。
- 無料会員は、1日30回まで。
無料会員は、1日に視聴できる動画の数が、30本に制限されています。30本という数字は、こちらのページなどの記述によりますが、本当のところはよくわかりません。
この「視聴回数制限」の視聴回数のカウントは、IPアドレス毎に、サーバ側で行われていると思われます。
FC2動画の Q&A より、引用(引用先はこちら)。
Q.「1日の視聴回数」が上限に達したと警告が出るA.サーバ負荷軽減のため、1日の視聴回数は、ログインせず利用できる上限、無料会員が利用できる上限がそれぞれ設定されています。有料会員になると、上限はなくなります。
IPアドレスごとに回数が割り当てられているので、IP を複数のユーザで共用していたり、IP が固定されている環境からご利用の場合には、(自分はまだ利用していなくても) すでに視聴回数が上限に達してしまっていることがありえます。
この制限に引っ掛かると、ブラウザはメッセージウィンドウを表示し、

OK をクリックすると、「有料会員の手引き」のページへと飛ばされます。 また、サーバは、error_code=602 を返します。
この制限がかかっている場合は、ブラウザ側で動画の視聴ができないはずですし、サイトスクリプト FC2.site.js も動画URLの取得ができなくなります。
- FC2 の回線が混雑していることによる視聴制限
- サーバから error_code=503 が返る場合。

- サーバから error_code=601 が返る場合。

- サーバから error_code=602 が返る場合。

- サーバから error_code=1000 が返る場合。

など。
これらの制限の場合、ブラウザ側では動画の視聴ができるのに、スクリプトによる動画URLの取得が失敗する、ということが一番起こりやすいだろうと思います。 - サーバから error_code=503 が返る場合。
- サーバ側で、IPアドレス毎の視聴回数をカウントするタイミングのこと。
サーバに動画のURLを問い合わせる際に、サーバ側でカウントしているのだと推測されます。FC2.site.js ( version 0.7.0.6 ) を例にすると、行142 あたりになります。少し先走って書いてしまいましたが、この問い合わせのレスポンスとして、動画の URL が返る代わりに、error_code=なんとか、というのが返ることがある、ということです。スクリプトでは、error_code=なんとか、が返った場合には、Craving Explore 側に null を返すようにしているので、「Craving Explorer のダウンロードボタンをクリックしたのに何も起こらない」というようなことになると思います。
たとえば、FC2.site.js ( version 0.7.0.6 ) の行147 あたり、
if ( !text.match( /filepath=([^&?]+)/ ) ) return null;を
if ( !text.match( /filepath=([^&?]+)/ ) ) return { videoTitle0: text, videoUrl0: "dummy" };
のようにすると、本当に error_code が返っているのか(あるいは、別の理由で取得失敗になっているのか)など、確認できると思います。(この表示方法は、Craving Explorer 側に、動画のURLとして返すべきところに "dummy" という文字列を返し、CEを「取得失敗」させています。動画のタイトルを返すべきところには、エラーコードを返しています。Craving Explorer サポート掲示板で、k38さんが使っておられたのを、借用しました。Craving Explorer 側に、スクリプト側からのメッセージを表示できる機能とかがあったらいいのですけれどもね。)
+ryu さんという方のブログ「プラス流 blog」(ttp://plusryu.blog87.fc2.com/)の中に、「FC2動画の一日の視聴回数制限突破方法」という記事があり、これによれば、埋め込みの動画を使えば、FC2 の視聴回数制限を突破できることがあるのだそうです。私は確認していないので確かなことは言えないのですが、サーバ問い合わせの際のパラメータなどに違いがあるのかもしれませんね。
rutubeというサイトをご存じですか?
そこのスクリプトをお願いしたいんですけど..
よろしくお願いできますか?