Help us understand the problem. What is going on with this article?

SHOWROOMのAPIについて(現在26個公開。引き続き調査中)

1. はじめに

SHOWROOMにはAPIが存在しており、URLをgetするとJSONで応答があります。しかしながら、これらのAPIは公開されて正式に公開されてはおりません。
一部では「配信中のルーム一覧」等、いろいろな方が非公式に公開しているものがあります。

もともと、応援しているある配信者さんのデータを取得して、分析したいと思ったことから始まりました。
応援中はもちろんデータなんて取れないし(SHOWROOMで星投げ、回収、カウントに忙しい)、しかも適用まで5分ほどかかるにも関わらず、データ取得を忘れると後からデータを取得する方法がないなど、分析するに当たってデータの欠落が発生する危険性があり、このデータの取得をなんとか自動化できないか、というところでAPIの調査をはじめました。

もともと、いろんな方が配信中のルーム一覧APIを公開していることから、他にもAPIが存在するはずだ、ということで、同じようにAPIを求める人はいるはずで、公開している人もいるのではと思い、そちらから探しました。しかしながら、誰も公開している人はいない。。。見つけてももう一つくらいでした。とはいうものの、色々な方がChrome拡張機能やスマートフォン用のAppを開発されていらっしゃるので、実際にはもっと色々なAPIが使われていると思い、今回の調査に至ったわけです。

調査方法はここでは念のため伏せさせていただきますが、そんな難しいことはしておりません。

それでは、今私が認識しているAPIを紹介いたします。

2. 目次

1. はじめに
2. 目次
3. APIのしくみ
  3.1. GETメソッドを用いる
  3.2. 引数が重要 
  3.3. ログイン状態か否かで値の変わる変数がある
4. 認識しているAPIについて
  4.1. 現在認識しているAPI一覧
  4.2. 各APIの説明
    4.2.1. カテゴリ "live"
      4.2.1.1. 配信中のルーム一覧取得(onlives)
      4.2.1.2. ライブ情報(live_info)
      4.2.1.3. ストリーミングURL(streaming_url)
      4.2.1.4. ポーリング(polling)
      4.2.1.5. 世代検証(age_verification)
      4.2.1.6. 現在のユーザ(current_user)
      4.2.1.7. テロップ(telop)
      4.2.1.8. アンケート結果(enquete_result)
      4.2.1.9. 累計ランキング(summary_ranking)
      4.2.1.10. コメントログ(comment_log)
      4.2.1.11. ギフトログ(gift_log)
      4.2.1.12. ギフトリスト(gift_list)
      4.2.1.13. ステージギフトリスト(stage_gift_list)
      4.2.1.14. ステージユーザリスト(stage_user_list)
      4.2.1.15. 配信中ルーム数取得(onlive_num)
    4.2.2. カテゴリ "room"
      4.2.2.1. 参加中イベント情報取得(event_and_support)
      4.2.2.2. プロフィール(ルーム情報)(profile)
      4.2.2.3. 次回配信情報(next_live)
      4.2.2.4. 設定情報取得(settings)
      4.2.2.5. ステータス(status)
    4.2.3. カテゴリ "user"
      4.2.3.1. プロフィール(ユーザ情報)(profile)
      4.2.3.2. ユーザ詳細(detail)
    4.2.4. カテゴリ "bad_report"
      4.2.4.1. 通報カテゴリリスト(live_bad_report_category_list)
    4.2.5. カテゴリ "service_settings"
      4.2.5.1. サービス設定情報取得(service_settings)
    4.2.6. カテゴリ "search"
      4.2.6.1. ルーム名補完(autocomplete_room)
    4.2.7. カテゴリ "event"
      4.2.7.1. イベント一覧(search)
5. さいごに

3. APIのしくみ

3.1. GETメソッドを用いる

HTTPにて、特定のURIにGETメソッドでアクセスすることで、JSON形式で応答されます。
例えば、多くの方が利用されている、「配信中のルーム一覧取得API」の場合、以下のURIをブラウザのアドレス入力欄に入れて実行すると、JSON形式でブラウザに表示されます。

https://www.showroom-live.com/api/live/onlives

ブラウザで実行したときのイメージは以下の通りです。

image.png

この仕組みを使って、Rubyなどのスクリプト言語で実行して取得したJSON形式から、配列やハッシュの形式で様々なデータを取得することが可能になります。

3.2. 引数が重要

一部のAPIでは、引数を一緒に入力しないと応答がエラーで返答されることがあります。
例えば、参加中イベント情報取得APIでは、

https://www.showroom-live.com/api/room/event_and_support?room_id=xxxxxx

というように、room_idを引数に与える必要があります。この引数を正しく与えてあげないと、応答がエラーとなります。

3.3. ログイン状態か否かで値が変わる変数がある

APIの中には、ブラウザ自体がログイン状態か否かで値の変わる変数があることを確認しております。
例えば、フォローしてるかどうかをboolで表している変数があったりしており、このフォローしているかどうかの主語はログインしているユーザになるようです。(つまりユーザを指定してフォローしているかどうかを確認する手段はないようになっています。)

4. 認識しているAPIについて

それでは、実際に見ていきましょう。

4.1. 現在認識しているAPI一覧

私が現在認識しているAPI一覧は以下の通りです。(2019/09/15 現在)

カテゴリ API名 APIの概要
live onlives 配信中のルーム一覧取得
live live_info ライブ情報
live streaming_url ストリーミングURL
live polling ポーリング
live age_verification 世代検証
live current_user 現在のユーザ
live telop テロップ
live enquete_result アンケート結果
live summary_ranking 累計ランキング
live comment_log コメントログ
live gift_log ギフトログ
live gift_list ギフトリスト
live stage_gift_list ステージギフトリスト
live stage_user_list ステージユーザリスト
live onlive_num 配信中ルーム数取得
room event_and_support 参加中イベント情報取得
room profile プロフィール
(ルーム情報)
room next_live 次回配信情報
room settings 設定
room status ステータス
user profile プロフィール
(ユーザ情報)
user detail ユーザ詳細
bad_report live_bad_report_category_list 通報カテゴリリスト
service_settings service_settings サービス設定
search autocomplete_room ルーム名補完
event search イベント一覧

image.png

4.2. 各APIの説明

それでは、各APIの説明をします。
カテゴリは、大きく分けてliveroomuserbad_reportservice_settingssearchの6つです。(2019/9/15 現在判明しているもの)

4.2.1. カテゴリ "live"

主に配信ライブに関する情報になリます。現在判明しているAPIは15個で最も多いです。これらのAPIは、配信中でないと表示されないものも多く、実行するタイミングが重要になります。もちろん、それを調べるためのAPIも存在するようです。

4.2.1.1. 配信中のルーム一覧取得API

このAPIはよく公開されている、実行時に配信中のルーム一覧を取得するAPIです。
URIは以下の通り。

https://www.showroom-live.com/api/live/onlives

取得したJSONの各変数は以下の通り。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
genre_id 配信ルームカテゴリID num
banners バナー関係 array
url バナーのリンクURL url
image バナーの画像URL url
has_upcoming もうすぐ放送開始か否か bool
genre_name 配信ルームカテゴリ名 string
lives 配信ルームリスト array
room_url_key 配信者ルームURL KEY string
official_lv 公式かアマチュアか num
telop テロップ string
follower_num フォロワ数 num
started_at 配信開始日時 unixtime
live_id ライブiD num
is_follow フォローしてるか否か bool
streaming_url_list 配信URLリスト array
is_default デフォルトか否か bool
url 配信URL url
label 画質レベル string
id 配信ID num
type 配信タイプ hls
stream_name 配信名 string
live_type 配信ライブタイプ num
tags タグ string
image 配信ルーム画像 url
view_num 入出者数 num
genre_id 配信ルームカテゴリID num
main_name 配信ルーム名 string
cell_type セルタイプ num
bscvr_key bscvr_key string
room_id ルームID num
bcsvr_port 配信サーバポート番号 num
bcsvr_host 配信サーバドメイン名 string
4.2.1.2. ライブ情報(live_info)

ライブ情報を取得するAPIです。room_idを引数に与えることで特定ルームのライブ情報を取得します。
引数はroom_idが必要です。

URIは以下の通りです。

https://www.showroom-live.com/api/live/live_info?room_id=xxxxxx

取得したJSONの各変数は以下の通り。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
age_verification_status 世代検証状況 num
video_type ビデオタイプ num
enquete_gift_num アンケートギフト数 num
is_enquete アンケート中? bool
bcsvr_port 配信サーバポート番号 num
live_type ライブタイプ num
is_free_gift_only 無料ギフトのみ? bool
bcsvr_host 配信サーバホスト名 string
live_id ライブID num
is_enquete_result アンケート結果? bool
live_stgatus 配信ステータス num
room_name ルーム名 string
room_id ルームiD num
bscvr_key 配信サーバキー string
background_image_url 背景画像URL url
4.2.1.3. ストリーミングURL(streaming_url)

ストリーミングURLを取得するAPIです。
これについては、中身でもよくわからないものもありました。
引数はroom_idが必要です。

URIは以下の通りです。

https://www.showroom-live.com/api/live/streaming_url?room_id=xxxxxx

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
streaming_url_list ストリーミングURLリスト array
is_default デフォルト? bool
url ストリーミングURL url
type ストリーミングタイプ rtmp
id ストリーミングID num
label ストリーミングラベル string
quality ストリーミング品質 num
4.2.1.4. ポーリング(polling)

ポーリングしてライブの状況を把握するAPIです。
素早くライブが開催中かを確認する際に便利です。
引数はroom_idが必要です。

URIは以下の通りです。

https://www.showroom-live.com/api/live/polling?room_id=xxxxxx

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
is_login ログイン中? bool
show_login_dialog ログインダイヤログ表示中? num
online_user_num 入室者数 num
live_watch_incentive 配信視聴インセンティブ []
4.2.1.5. 世代検証(age_verification)

世代検証のAPIです。
これについては推測ですが、情報確認してから時間が経つと、鮮度が悪くなることを確認しているのではないかと思われます。
引数はroom_idが必要です。

URIは以下の通りです。

https://www.showroom-live.com/api/live/age_verification?room_id=xxxxxx

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
is_passed 検証OK? bool
4.2.1.6. 現在のユーザ(current_user)

ログイン時、そのログイン中のユーザの情報を取得します。
これは少し特殊です。ログイン状態で実行しないと、全ての変数の値が正しく反映されません。
ルームIDを引数で与えており、そのルーム内でのユーザの情報、という位置付けのようです。
引数はroom_idが必要です。

URIは以下の通りです。

https://www.showroom-live.com/api/live/current_user?room_id=xxxxxx

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
live_rank 配信ランク num
avater_id アバターID num
gift_use_flg1 ギフト仕様フラグ num
next_level_point 次レベルpt num
locale 地域 string
gift_list ギフトリスト hash
enquete アンケート []
normal ノーマル array
gift_id ギフトID num
free_num 無料数 num
next_fan_level 次ファンレベル num
is_confirm_gifting_use_gold ギフト仕様GOLD確認? bool
add_free_gift 追加無料ギフト num
badge_type バッジタイプ num
gold GOLD num
is_login ログイン中? bool
badge バッジ num
fan_level ファンレベル num
twitter_auth Twitterの同期 bool
is_tutorial チュートリアル? bool
name ユーザ名 string
avatar_url アバターURL url
current_level_point 現在のレベルpt num
account_id アカウントiD string
image イメージ画像URL url
contribution_point 貢献pt num
user_id ユーザID num
4.2.1.7. テロップ(telop)

配信者さんが現在配信している枠で表示しているテロップを取得します。
引数はroom_idが必要です。

URIは以下の通りです。

https://www.showroom-live.com/api/live/telop?room_id=xxxxxx

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
telops テロップ情報 array
color hash
r num(char)
g num(char)
b num(char)
text テキスト string
type タイプ string
telop テロップ string
interval 間隔 num
4.2.1.8. アンケート結果(enquete_result)

配信中にアンケートを実施したその結果を取得します。
しかしながら、これについては実態を全く把握できておりません。
今度、実際に配信でアンケートを実施してみて確認したいと思います。
引数はroom_idが必要です。

URIは以下の通りです。

https://www.showroom-live.com/api/live/enquete_result?room_id=xxxxxx

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
l ? []
v ? string
i ? url
4.2.1.9. 累計ランキング(summary_ranking)

指定したルームの累計ランキングを取得します。
引数はroom_idが必要です。

URIは以下の通りです。

https://www.showroom-live.com/api/live/summary_ranking?room_id=xxxxxx

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
ranking ランキング araray
avatar_id アバターID num
avatar_url アバターURL url
name 名前 string
point 累積pt num
order 順位 num
visit_count 訪問回数 num
user_id ユーザID num
rank ランキング num
4.2.1.10. コメントログ(comment_log)

配信中のコメントログを取得します。
引数はroom_idが必要です。

URIは以下の通りです。

https://www.showroom-live.com/api/live/comment_log?room_id=xxxxxx

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
comment_log コメントログリスト array
avatar_id アバターID num
create_at 投稿日時 unixtime
comment コメント string
avatar_url アバターURL url
name 投稿者名 string
user_id ユーザID num
4.2.1.11. ギフトログ(gift_log)

配信中に投げられたギフトのログです。
引数はroom_idが必要です。

URIは以下の通りです。

https://www.showroom-live.com/api/live/gift_log?room_id=xxxxxx

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
gift_log ギフトログリスト array
avatar_id アバターID num
num num
avatar_url アバターURL url
name 投稿者名 string
image 投稿者画像URL url
gift_id ギフトID num
created_at 投稿日 unixtime
image2 url
user_id ユーザID num
4.2.1.12. ギフトリスト(gift_list)

指定した配信ルームで投げられるギフトの一覧を取得するAPIです。
引数はroom_idが必要です。

URIは以下の通りです。

https://www.showroom-live.com/api/live/gift_list?room_id=xxxxxx

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
bravo_time ブラボータイム array
is_hidden 非表示属性 bool
order_no 注文番号 num
gift_type ギフトタイプ num
image ギフトイメージURL url
gift_id ギフトID num
mage2 ギフトイメージURL2? url
free 無料ギフト? bool
point 投稿pt num
is_delete_from_stage ステージから削除した? bool
gift_name ギフト名 string
scale スケール num
4.2.1.13. ステージギフトリスト(stage_gift_list)

その(配信枠?)ステージ上で投げられたギフトのリストを取得します。
と言いながら、実は応答だけ確認していますが、実態は全く把握できておりません。
こちらも今後の調査対象とします。
引数はroom_idが必要です。

URIは以下の通りです。

https://www.showroom-live.com/api/live/stage_gift_list?room_id=xxxxxx

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
stage_gift_list ステージギフトリスト []
4.2.1.14. ステージユーザリスト(stage_user_list)

その(配信枠?)ステージ上のユーザリストを取得します。
配信中のライブランキングと同意のようです。
引数はroom_idが必要です。

URIは以下の通りです。

https://www.showroom-live.com/api/live/stage_user_list?room_id=xxxxxx

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
stage_user_list ステージユーザリスト array
order_no 順位 num
user ユーザ情報 hash
avatar_id アバターID num
badge_type バッジタイプ num
avatar_url アバターURL url
name ユーザ名 string
user_id ユーザID num
image ユーザ画像URL url
rank ランキング num
4.2.1.15. 配信中ルーム数取得(onlive_num)

配信中のルーム数を取得します。
onlivesでは配信中の全てのルーム情報を取得しましたが、JSONも膨大な量になっていました。
onlive_numでは数だけを取得できます。

URIは以下の通りです。

https://www.showroom-live.com/api/live/onlive_num

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
num オンライブ数 num

4.2.2. カテゴリ "room"

主にルームに関連する情報を取得します。
プロフィールなどもこちらから取得することが可能です。
また、イベントに参加している場合、その参加中イベントでの獲得ポイント数などを確認するAPIなども用意されています。

4.2.2.1. 参加中イベント情報取得(event_and_support)

指定したルームが参加中のイベントに関する情報を取得するAPIです。
この参加中というキーワードが大きな意味を持ち、イベントが終了してしまうとこの情報は取得できなくなってしまうので、過去の遡って情報を取得できないようになっているようです。

自分がフォローしているルームが現在イベントに参加しているか、どういうイベントに参加しているのかを知りたくなりますよね?

  • どのイベントに参加しているのか?
  • イベントの詳細は?
  • そのイベントは今どういう状況なのか?
  • イベントでの対象ルームのポイント獲得状況は?

この辺りが取得できるようです。
引数はroom_idが必要です。

URIは以下の通りです。

https://www.showroom-live.com/api/room/event_and_support?room_id=xxxxxx

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
support サポート hash
is_achieved bool
goal_point num
tutorial_url url
title strings
support_id num
next_level num
current_point num
regular_event レギュラーイベント hash
event イベント hash
ranking hash
gap num
point num
text strings
next_rank num
rank num
event_name イベント名 string
event_id イベントID num
quest クエスト hash
contributor_list_url 貢献者リストURL url
support サポート hash
is_achieved 達成したかどうか bool
goal_point 目標ポイント num
tutorial_url チュートリアルURL url
title 現レベルのタイトル string
support_id サポートID num
next_level 次のレベル num
current_point 現在の獲得pt num
quest_list クエストリスト array
number_of_items アイテム中の数 num
color string
goal_point 目標ポイント num
rest_items num
title レベルタイトル string
quest_level クエストレベル num
is_acquired 取得した? bool
text テキスト string
quest_level 現在のクエストレベル num
event_description イベント内容 string
event_type イベントタイプ string
image イベント画像url url
ended_at イベント終了日時 unixtime
started_at イベント開始日時 unixtime
tutorial_url チュートリアルURL url
event_url イベントURL url
4.2.2.2. プロフィール(ユーザ情報)(profile)

ルームのプロフィール情報を取得することができるAPIです。
引数はroom_idが必要です。

URIは以下の通りです。

https://www.showroom-live.com/api/room/profile?room_id=xxxxxx

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
image_list 画像リスト array
m_original オリジナル画像URL url
ts タイムスタンプ unixtime
id 画像ID num
m 画像URL url
banner_list バナーリスト array
url バナーURL url
image バナー画像 url
is_talk_online ファンルームオンライン? bool
award_list 表彰リスト array?
push_send_status 送信状態 {}
performer_name 演技者名 string
follower_num フォロー数 num
live_id ライブID num
is_official 公式? bool
is_follow フォローしてる? bool
voice_list ボイスメモリスト []
event イベント hash
ended_at イベント終了日時 unixtime
started_at イベント開始日時 unixtime
url イベントページURL url
name イベント名 string
image イベント画像URL url
is_birthday 誕生日? bool
description イベント内容 string
genre_id 枠ID num
youtube_id youtubeID string
visit_count 訪問回数 num
recommend_comment_list 推奨コメント array
created_at 作成日 unixtime
comment コメント string
user ユーザ情報 hash
name ユーザ名 string
image ユーザ画像URL url
current_live_stared_at 配信開始日時 unixtime
share_text_live 配信シェアテキスト string
sns_list SNSリスト array
icon SNSアイコンURL url
url SNSURL url
recommend_comments_url 推奨コメントURL url
share_url シェアURL url
room_url_key ルームURLキー string
avatar 配信者アバター情報 hash
description アバター内容 string
list urlリスト array
- url url
share_url_live シェア配信URL url
is_talk_opened ファンルーム入室状況 bool
recommend_comment_post_url 推奨コメント送信URL url
genre_name 枠名 string
room_name ルーム名 string
birthday 誕生日(月日のみ) unixtime
room_level ルームレベル num
image ルーム画像 url
recommend_comment_open_status 推奨コメント開示状況 bool
main_name 配信者名 string
view_num 入室者数 num
is_onlive 配信中? bool
room_id ルームID num
4.2.2.3. 次回配信情報(next_live)

次回の配信情報について取得するAPIです。
引数はroom_idが必要です。

URIは以下の通りです。

https://www.showroom-live.com/api/room/next_live?room_id=xxxxxx

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
epoch 次回配信予定日時 unixtime
text テキスト 未定
4.2.2.4. 設定情報取得(settings)

ルームの設定情報を取得するAPIのようです。
こちらについても実態はあまり把握できておりません。
引数はroom_idが必要です。

URIは以下の通りです。

https://www.showroom-live.com/api/room/settings?room_id=xxxxxx

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
available_performance_type 利用可能パフォーマンスタイプ []
4.2.2.5. ステータス(status)

ルームのステータスを取得するAPIです。
引数はroom_idが必要です。

URIは以下の通りです。

https://www.showroom-live.com/api/room/status?room_id=xxxxxx

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
upload_url アップロードURL url
did_send_live_bad_report ライブで通報したか? bool
streaming_url_hls ストリーミングURL HLS url
is_enquete アンケート中? bool
room_url_key ルームURL KEY string
anterrom_id ? num
is_enabled_full_screen フルスクリーン有効? bool
is_owner オーナー? bool
share シェア情報 hash
twitter Twitterシェア情報 hash
text シェアテキスト string
url シェアURL url
can_comment コメント可? bool
started_at 配信開始日時 unixtime
is_live 配信中? bool
streaming_name_rtmp ストリーム名RTMP string
live_id ライブID num
room_name ルーム名 strimg
background_image_url 背景画像URL url
broadcast_key 放送キー string
is_official 公式? bool
video_type ビデオタイプ num
broadcast_port 配信ポート番号 num
image_s 画像小URL url
live_type ライブタイプ num
broadcast_host 配信サーバホスト名 string
live_user_key ライブユーザキー string
genre_id 配信枠ID num
is_fav ? bool
streaming_url_rtmp ストリームURLRTMP url
youtube_id youtubeID num
live_status ライブ状況 num
nsta_owner NSTAオーナ bool

4.2.3. カテゴリ "user"

こちらは配信者だけでなく、リスナの方の情報を取得するAPIです。

4.2.3.1. プロフィール(ユーザ情報)(profile)

ユーザ(リスナ)のプロフィールを取得するAPIです。
引数はuser_idが必要です。

URIは以下の通りです。

https://www.showroom-live.com/api/user/profile?user_id=xxxxxx

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
sns_list SNSリスト array
icon SNSアイコンURL url
url SNSURL url
avatar_id アバターID num
is_ng_nick_name NGニックネーム状況 bool
avatar_url アバターURL url
name ユーザ名 string
description ユーザ内容 string
account_id アカウントID strintg
image ユーザ画像URL url
room_profile ルームプロフィール hash
banner_list バナーリスト array
url バナーURL url
image バナー画像 url
award_list 表彰リスト array
performer_name パフォーマ名 string
follower_num フォロワ数 num
live_id 配信中ライブID num
is_official 公式枠か否か bool
is_follow フォロー中? bool
is_birthday 誕生日? bool
description ルーム内容 string
genre_id 配信枠ID num
youtube_id youtubeID num
visit_count 訪問数 num
recommend_comment_list 推奨コメント array
created_at 作成日 unixtime
comment コメント string
user ユーザ情報 hash
name ユーザ名 string
image ユーザ画像URL url
current_live_started_at 配信中ライブ開始日時 unixtime
share_text_live 配信シェアコメント string
sns_list SNSリスト array
icon SNSアイコンURL url
url SNSURL url
recommend_comments_url 推奨コメントURL url
share_url シェアURL url
room_url_key ルームURLキー string
avatar 配信者アバター情報 hash
description アバター内容 string
list urlリスト array
- url url
share_url_live シェア配信URL url
recommend_comment_post_url 推奨コメント送信URL url
genre_name 枠名 string
room_name ルーム名 string
birthday 誕生日(月日のみ) unixtime
room_level ルームレベル num
image ルーム画像 url
recommend_comment_open_status 推奨コメント開示状況 bool
main_name 配信者名 string
view_num 入室者数 num
has_more_recommend_comment 他に推奨コメントがあるか? bool
is_onlive 配信中? bool
room_id ルームID num
can_report 報告できるか? bool
has_reported 報告済みか? bool
is_blocked_post ブロック送信? bool
fan_level ファンレベル num
4.2.3.2. ユーザ詳細(detail)

現在ログインしているユーザの詳細情報を取得します。
引数はuser_idが必要です。
引数は必要ありませんでした。申し訳ありません。
しかし、ログインは必須です。(エラーになります。)

URIは以下の通りです。

https://www.showroom-live.com/api/user/detail

応答JSONの各変数は以下の通りです。

t変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
is_ng_nick_name NGニックネーム? bool
name ユーザ名 string
age 年齢 num
residence 在住期間? num
description ユーザ内容 string
image ユーザ画像URL url
user_id ユーザID num
birthday 誕生日(月日のみ) unixtime
gender 性別 num

4.2.4. カテゴリ "bad_report"

通報関係のAPIです。

4.2.4.1. 通報カテゴリリスト(live_bad_report_category_list)

通報する際、カテゴリを選択できると思います。そのリストを取得するAPIです。

URIは以下の通りです。

https://www.showroom-live.com/api/bad_report/live_bad_report_category_list

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
list リスト array
category_id カテゴリID num
category_name カテゴリ名 string

4.2.5. カテゴリ "service_settings"

サービス設定の情報を取得します。

4.2.5.1. サービス設定情報取得(service_settings)

サービス設定の情報を取得するAPIです。

URIは以下の通りです。

https://www.showroom-live.com/api/service_settings

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
user_report_categories ユーザレポートカテゴリ array
category_id カテゴリID num
category_name カテゴリ名 string
live_cheating_notification ライブ不正通知 bool
live_cheating_recommend ライブ不正勧告 bool
beauty_skin_filter ビューティスキンフィルタ bool
avatar_url アバターURL hash
version バージョン num
path アバター画像URL url
f_ext 画像拡張子 url
max_enquete_option_num 最大アンケートオプション数 num
user_report_places ユーザ報告場所 array
place_id 場所ID num
place_name 場所名 string
assets_base_url アセットベースURL url
telop テロップ有無 bool
heatmap_api_base_url ヒートマップAPIベースURL url
log_server ログサーバURL url
ranking_update_interval ランキング更新間隔 num

4.2.6. カテゴリ "search"

検索関係のAPI群です。

4.2.6.1. ルーム名補完(autocomplete_room)

フリーワードを引数に入れると、完全補完ルーム名を取得することができます。
引数はword(任意の検索キーワード)です。

URIは以下の通りです。

https://www.showroom-live.com/api/service_settings

応答JSONの各変数は以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
autocomplete 完全補完 string

4.2.7. カテゴリ "event"

イベント関係のapi群です。

4.2.7.1 イベント検索(search)

イベント一覧を取得するAPIです。
引数はpageです。

URIは以下の通りです。

https://www.showroom-live.com/api/event/search?page=x

xはページ名

応答のJSONは以下の通りです。

変数名1 変数名2 変数名3 変数名4 変数の内容 データ型 配列 ログインによる影響
next_page 次頁番号 num
previous_page 前頁番号 num
event_list イベントリスト Array
order_no 順番 num
event_id イベントID num
event_description イベント内容 String
start_soon 近日開始? bool
league_ids リーグID Array
end_soon まもなく終了? bool
type_name レベル String
is_official 公式フラグ bool
event_name イベント名 String
image_l イメージL url
event_type イベントタイプ String
image_s イメージS url
genre_id genreID num
default_locale デフォルト地域 String
ended_at 終了日時 timestamp
updated_at 更新日時 timestamp
start_coming まもなく開始 bool
event_image_file_type イベント画像ファイルタイプ String
require_level_max 必要レベル最大値 num
require_level 必要レベル num
image_m イメージm url
offer_started_at 参加開始日時 timestamp
no_amateur アマチュアじゃない? bool
end_remain 終了確認 num
just_offer_started 参加開始? bool
created_at 作成日時 timestamp
started_at 開始日時 timestamp
event_url_key イベントURLキー String
is_box_event ボックスイベント? bool
parent_event_id 親イベントID num
show_ranking ランキング表示 bool
is_public 公開済み? bool
public_status 公開状態 num
is_closed 終了済み? bool
is_pickup ピックアップ? bool
reward_rank リワードランク num
offer_ended_at 参加終了日時 timestamp
last_page 最終頁番号 num
first_page 最初の頁番号 num
current_page 現在の頁番号 num
total_count イベント総数 num

5. さいごに

今回は細かい説明は割愛しました。
取り急ぎ、これらのAPIが存在する、ということをお伝えしたかったのです。

しかしながら、これらのAPIを使うことで、クロールすることなくAPIから情報を取得することが可能になりました。

ただ、これで私がしたいことの全てができるわけではありません。
参加中イベントの貢献ランキングを取得するAPIはまだ見つかっておりません。
こちらをクロールする場合、user_idがわからず、ユーザ名だけで判断する必要があります。
ユーザ名は任意で好きな時に変更が可能であるため、ユニークな情報ともなりにくく、また一定した値にならないので、ユーザを特定することは困難を深めます。

ただし、今回取得した情報でユーザIDがわかるので、それをうまく活用して対応することはできるかな、と思っております。

また、APIにはGETメソッドだけでなく、POSTメソッドも存在することを確認しております。これは情報取得ではなく、設定適用や、何かの実行(配信など)を担うものであり、多分ですがブラウザのログインが必要であると思います。

APIの調査は、引き続き行っていこうと思います。

6. 参考サイト

takeru7584
元CAE専任者。スクリプト言語を駆使して様々なツール開発や作業効率化を図ってきました。 現在は品質関係に従事。 最近コードを書いていないので、リハビリから始めたいと思っています。
https://tobylabs.work/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした