まめ畑

ゆるゆると書いていきます

ニコニコのイロハ -番外編-

さて、前回までの2回で動画とコメントをGET出来るようになったのですが、今回はその他の3つのAPIを見てみたいと思います。
プログラム晒す前に見つけたから書かずにはいられない。

ちなみに今回のAPIは認証要らないです。
もう太っ腹!

では1つ目。
これはプレイヤーの上で流れてる、ニワニュースのニュースを提供するAPIみたいです。
認証が要らないので、勝手に自分のサイトに組み込んだらと思ってみたり。。。
やっちゃだめですよ。たぶん。
運営に文句言われそう。
あと、今回は後半自信が無いので違っていたらコメント宜しくです。
2/7 http://www.nicovideo.jp/api/configurengclientの箇所に修正・追記あります。

まぁ、とりあえず書いてみよう。

http://www.nicovideo.jp/api/getmarquee?mqver=0&uid=ユーザID
このアドレスを呼ぶだけでいいのですが、パラメータは全ていらないようです。

で、レスポンスがこれ。
5件ずつ返してくるみたい。
例では2件だけ掲載。

<?xml version="1.0" encoding="UTF-8"?>
  <marquee_data status="ok" ver="1202297402">
    <marquee_0>
      <type>text</type>
      <size>14</size>
      <fcol>0x000000</fcol>
      <bcol>http://www.nicovideo.jp/img/marquee/niwanews.gif</bcol>
      <interval>60</interval>

      <size2>14</size2>
      <fcol2>0x000000</fcol2>
      <f>4</f>
      <text>ニュース1</text>
      <link>http://niwango.jp/pc/niwanews/search.php?id=xxxxx</link>
      <text2>ニワニュース 2月6日</text2>

    </marquee_0>
    <marquee_1>
      <type>text</type>
      <size>14</size>
      <fcol>0x000000</fcol>
      <bcol>http://www.nicovideo.jp/img/marquee/niwanews.gif</bcol>
      <interval>60</interval>

      <size2>14</size2>
      <fcol2>0x000000</fcol2>
      <f>4</f>
      <text>ニュース2</text>
      <link>http://niwango.jp/pc/niwanews/search.php?id=xxxxx</link>
      <text2>ニワニュース 2月6日</text2>

    </marquee_1>	
  </marquee_data>

・パラメータ

  • type メッセージタイプ
  • size 文字サイズ
  • fcol わかりません。。。でも0か
  • bcol ニュースが流れているところの周りの画像
  • interval 更新間隔?
  • size2 これはニュースの文字サイズ?
  • fcol2 わからないです・・・。
  • f わからないです。。。
  • text2 ここに流れているニュースが1件入ってます
  • link ニワニュースへのリンク
  • text2 表示される文字 その2

これが認証なしで使えるので、自分のサイトに勝手にのっけられるかも。


次の2つは設定などに使っているAPIで普段は入用ではないです。

http://msg.nicovideo.jp/crossdomain.xml

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
  <cross-domain-policy>
    <allow-access-from domain="*.nicovideo.jp" />
  </cross-domain-policy>

プレイヤーの設定ですね

次も何かを設定してるようですが、何かは不明。
NGリストの設定をにこプレイヤーに対して行っているもようです。

http://www.nicovideo.jp/api/configurengclient?mode=get
これもパラメータは無くてもレスポンスは同じでした。
認証出来たか出来ないかでレスポンスが違います。

・成功版(NG登録なし)

<response_ngclient status="ok">
  <revision>1</revision>
  <count>0</count>
</response_ngclient>

・成功版(NG登録あり)

<response_ngclient status=ok”>
 <revision>26</revision>
 <count>1</count>
 <ngclient>
  <type>id</type>
  <source>ユーザID</source>
  <register_time>1202357802</register_time>
 </ngclient>
</response_ngclient>

・パラメータ

  • count 登録数
  • type 拒否対象タイプ
  • source フィルタ情報
  • register_time 登録時間

・失敗版

<?xml version="1.0" encoding="utf-8" ?> 
<response_ngclient status="fail">
  <error>
    <code>NOAUTHORITY</code> 
    <description>設定権限がありません</description> 
  </error>
</response_ngclient>

コメントをいただき追加しました。
どうやら、通信制限ではなくNGリストの処理のようです。
NG登録していなかったので気づかなかったです・・・。
ngclientって自分では無く、相手ということなんですね。

response_ngclientと書かれているところから、連続アクセスでプレイヤーが通信制限をかける指標かなと勝手に思っています。
あの15秒後に開始しますとかってシステムメッセージに表示されるやつです。
違うのかな?

で、サーバからのレスポンスのヘッダに以下の記述が。

  • x-niconico-id: ユーザID
  • x-niconico-authflag: 1

不明なAPIですが、用途は無さそうです。

と、まだニコニコにはありそうですが、この辺で実用以外のものになってきた感じがします。
認証は前回で使用したクッキー1を使う感じです。

うーん。これが上手く呼び出すことが出来たら、ニコニコのミラー作れるかもしれないですね。
中の人本当に少し公開を望みます。


以下追記。
マイメモリーで非表示にしたいコメントを選択すると以下のようなアドレスにアクセスしていました。
res_noに,区切りでコメント番号が羅列されているだけです。
http://www.nicovideo.jp/api/getdeletekey?thread_id=1202378863&res_no=1,2,・・・

あと、メッセージサーバへは以下のようなリクエストが。
こちらも羅列です。
1,2,・・・

シンプルなつくりなんですね。