twitcaspy.API --- Twitcasting API v2 Reference

class twitcaspy.API(auth=None, *, host='apiv2.twitcasting.tv', parser=None, user_agent=None, signature=None)

Twitcasting API v2.0 Interface

パラメータ
  • auth (AuthHandler) -- 使用される認証ハンドラー

  • host (str) -- 使用されるREST APIのホストサーバーURL

  • parser (Parser) --

    Twitcastingからのレスポンスを解析するために使用するParserインスタンス。
    デフォルトはModelParserのインスタンスです。

  • user_agent (str) -- 使用されるユーザーエージェント

  • signature (str) -- WebHookの正規のリクエストであることを証明するキー

例外

TypeError -- 指定されたparserがParserインスタンスではない場合

参照

https://apiv2-doc.twitcasting.tv/

Twitcasting API v2 Endpoint

API Method

User

GET /users/:user_id

API.get_user_info()

GET /verify_credentials

API.verify_credentials()

Live Thumbnail

GET /users/:user_id/live/thumbnail

API.get_live_thumbnail_image()

Movie

GET /movies/:movie_id

API.get_movie_info()

GET /users/:user_id/movies

API.get_movies_by_user()

GET /users/:user_id/current_live

API.get_current_live()

POST /movies/subtitle

API.set_current_live_subtitle()

DELETE /movies/subtitle

API.unset_current_live_subtitle()

POST /movies/hashtag

API.set_current_live_hashtag()

DELETE /movies/hashtag

API.unset_current_live_hashtag()

Comment

GET /movies/:movie_id/comments

API.get_comments()

POST /movies/:movie_id/comments

API.post_comments()

DELETE /movies/:movie_id/comments/:comment_id

API.delete_comment()

Gift

GET /gifts

API.get_gifts()

Supporter

GET /users/:user_id/supporting_status

API.get_supporting_status()

PUT /support

API.support_user()

PUT /unsupport

API.unsupport_user()

GET /users/:user_id/supporting

API.supporting_list()

GET /users/:user_id/supporters

API.supporter_list()

GET /categories

API.get_categories()

GET /search/users

API.search_users()

GET /search/lives

API.search_live_movies()

API.incoming_webhook()

GET /webhooks

API.get_webhook_list()

POST /webhooks

API.register_webhook()

DELETE /webhooks

API.remove_webhook()

GET /rtmp_url

API.get_rtmp_url()

GET /webm_url

API.get_webm_url()

User

get_user_info

API.get_user_info(*, id=None, screen_id=None)
ユーザーの情報を取得します。
idまたはscreen_idのいずれかを指定する必要があります。
パラメータ
  • id (str) -- ライブ配信者のユーザID このパラメータを指定した場合、screen_idは無視されます。

  • screen_id (str) -- ライブ配信者のID(例: @~~)

戻り値

以下は Result の属性です。
latelimit : LateLimit
user : User
supporter_count : Raw (int) ユーザーのサポーターの数
supporting_count : Raw (int) ユーザーがサポートしている数

戻り値の型

Result

例外

TwitcaspyException -- idとscreen_idの両方が指定されていないとき

参照

https://apiv2-doc.twitcasting.tv/#get-user-info

verify_credentials

API.verify_credentials()

アクセストークンに関するアプリケーションとユーザーの情報を取得します。

戻り値

以下は Result の属性です。
latelimit : LateLimit
app : App
user : User
supporter_count : Raw (int)
supporting_count : Raw (int)

戻り値の型

Result

参照

https://apiv2-doc.twitcasting.tv/#verify-credentials

Live Thumbnail

get_live_thumbnail_image

API.get_live_thumbnail_image(*, id=None, screen_id=None, size='small', position='latest')
指定されたユーザーにおける配信中のライブのサムネイル画像を取得します。
ユーザーが配信中でない場合はオフライン画像を返します。
idまたはscreen_idのいずれかを指定する必要があります。

ちなみに

認証は必要ありません。

パラメータ
  • id (str) -- ライブ配信者のユーザID このパラメータを指定した場合、screen_idは無視されます。

  • screen_id (str) -- ライブ配信者のID(例: @~~)

  • size(optional) (str) --

    画像サイズ
    画像サイズは大('large')または小('small')が指定可能です。(デフォルト: 'small')

  • position(optional) (str) --

    ライブ開始時点(beginning)または最新('latest')を指定可能です。(デフォルト: 'latest')

戻り値

画像データはcontent属性に格納されています。

戻り値の型

requests.models.Response

例外

TwitcaspyException -- idとscreen_idの両方が指定されていないとき

参照

https://apiv2-doc.twitcasting.tv/#get-live-thumbnail-image

Movie

get_movie_info

API.get_movie_info(movie_id)

ライブ情報を取得します。

パラメータ

movie_id (str) -- ライブのID

戻り値

以下は Result の属性です。
latelimit : LateLimit
movie : Movie
broadcaster : User
tags : Raw (list)
live : Live
以下は Live の属性です。
movie : Movie
broadcaster : User
tags : Raw (list)
result.movieresult.live.movie と等価です。

戻り値の型

Result

参照

https://apiv2-doc.twitcasting.tv/#get-movie-info

get_movies_by_user

API.get_movies_by_user(*, id=None, screen_id=None, offset=0, limit=20, slice_id=None)
ユーザーが保有する過去ライブ(録画)の一覧を作成日時の降順で取得します。
idまたはscreen_idのいずれかを指定する必要があります。
パラメータ
  • id (str) -- ライブ配信者のユーザID このパラメータを指定した場合、screen_idは無視されます。

  • screen_id (str) -- ライブ配信者のID(例: @~~)

  • offset(optional) (int) --

    先頭からの位置
    0から1000の範囲で指定できます。(デフォルト: 0)

  • limit(optional) (int) --

    最大取得件数
    1から50の範囲で指定できます。(デフォルト: 20)
    (場合により、指定件数に満たない数の動画を返す可能性があります。)

  • slice_id(optional) (int or None) --

    このslice_id以前のライブを取得します。
    1以上の範囲で指定できます。
    (デフォルトでは指定されていません。[= None])
    このパラメータを指定した場合、offsetは無視されます。

戻り値

以下は Result の属性です。
latelimit : LateLimit
total_count : Raw (int)
movies : List of Movie

戻り値の型

Result

例外

TwitcaspyException -- idとscreen_idの両方が指定されていないとき

参照

https://apiv2-doc.twitcasting.tv/#get-movies-by-user

get_current_live

API.get_current_live(*, id=None, screen_id=None)
ーザーが配信中の場合、ライブ情報を取得します。
idまたはscreen_idのいずれかを指定する必要があります。
パラメータ
  • id (str) -- ライブ配信者のユーザID このパラメータを指定した場合、screen_idは無視されます。

  • screen_id (str) -- ライブ配信者のID(例: @~~)

戻り値

以下は Result の属性です。
latelimit : LateLimit
movie : Movie
broadcaster : User
tags : Raw (list)
live : Live
以下は Live の属性です。
movie : Movie
broadcaster : User
tags : Raw (list)
result.movieresult.live.movie と等価です。

戻り値の型

Result

例外

TwitcaspyException -- idとscreen_idの両方が指定されていないとき

参照

https://apiv2-doc.twitcasting.tv/#get-current-live

set_current_live_subtitle

API.set_current_live_subtitle(subtitle, *, cut_out=False)
ユーザーが配信中の場合、ライブのテロップを設定する。
パラメータ
  • subtitle (str) --

    テロップ

  • cut_out (bool) --

    subtitleが17文字より多い場合、(あふれた分を)切り取る

戻り値

以下は Result の属性です。
latelimit : LateLimit
movie_id : Raw (int) ライブのID
subtitle : Raw (int) テロップ

戻り値の型

Result

例外

TwitcaspyException: -- subtitleが1文字より少ないとき subtitleが17文字より多く、cut_outがFalseのとき

参照

https://apiv2-doc.twitcasting.tv/#set-current-live-subtitle

unset_current_live_subtitle

API.unset_current_live_subtitle()
ユーザーが配信中の場合、ライブのテロップを削除する。
戻り値

以下は Result の属性です。
latelimit : LateLimit
movie_id : Raw (int) ライブのID
subtitle : Raw (None)

戻り値の型

Result

参照

https://apiv2-doc.twitcasting.tv/#unset-current-live-subtitle

set_current_live_hashtag

API.set_current_live_hashtag(hashtag, *, cut_out=False)
ユーザーが配信中の場合、ライブのハッシュタグを設定する。
パラメータ
  • hashtag (str) -- live hashtag

  • cut_out (bool) --

    hashtagが26文字より多い場合、(あふれた分を)切り取る

戻り値

以下は Result の属性です。
latelimit : LateLimit
movie_id : Raw (int) ライブのID
hashtag : Raw (str)

戻り値の型

Result

例外

TwitcaspyException: -- hashtagが1文字より少ないとき/hashtagが26文字より多く、cut_outがFalseのとき

参照

https://apiv2-doc.twitcasting.tv/#set-current-live-hashtag

unset_current_live_hashtag

API.unset_current_live_hashtag()
ユーザーが配信中の場合、ライブのハッシュタグを削除する。
戻り値

以下は Result の属性です。
latelimit : LateLimit
movie_id : Raw (int) ライブのID
hashtag : Raw (None)

戻り値の型

Result

参照

https://apiv2-doc.twitcasting.tv/#unset-current-live-hashtag

Comment

get_comments

API.get_comments(movie_id, *, offset=0, limit=20, slice_id=None)
指定した動画のコメントの一覧を作成日時の降順で取得します。
パラメータ
  • movie_id (str) -- ライブのID

  • offset(optional) (int) --

    先頭からの位置
    0以上の範囲で指定できます。(デフォルト: 0)

  • limit(optional) (int) --

    最大取得件数
    1から50の範囲で指定できます。(デフォルト: 10)
    (場合により、指定件数に満たない数の動画を返す可能性があります。)

  • slice_id(optional) (int or None) --

    このslice_id以前のコメントを取得します。
    1以上の範囲で指定できます。
    (デフォルトでは指定されていません。[= None])
    このパラメータを指定した場合、offsetは無視されます。
    slice_id に指定可能な最小値が 1 になりました。

戻り値

以下は Result の属性です。
latelimit : LateLimit
movie_id : Raw (int) ライブのID
all_count : Raw (int) 総コメント数
comments : Commentlist

戻り値の型

Result

参照

https://apiv2-doc.twitcasting.tv/#get-comments

post_comment

API.post_comment(movie_id, comment, *, sns='none')
コメントを投稿します。
ユーザ単位でのみ実行可能です。
パラメータ
  • movie_id (str) -- ライブのID

  • comment (str) --

    投稿するコメント文章
    1〜140文字である必要があります。

  • sns (str) --

    SNSへの同時投稿
    (ユーザーがTwitterまたはFacebookと連携しているときのみ有効)
    'reply' : 配信者へリプライする形式で投稿
    'normal' : 通常の投稿
    'none' : SNS投稿無し

戻り値

以下は Result の属性です。
latelimit : LateLimit
movie_id : Raw (int) ライブのID
all_count : Raw (int) 総コメント数
comment : Comment

戻り値の型

Result

例外

TwitcaspyException: -- comment が 1-140 文字でないとき

参照

https://apiv2-doc.twitcasting.tv/#post-comment

delete_comment

API.delete_comment(movie_id, comment_id)
コメントを削除します。
ユーザ単位でのみ実行可能です。
原則として削除できるコメントは、投稿者がアクセストークンに紐づくユーザと同一のものに限られます。
ただし、Movieのオーナーであるユーザーのアクセストークンを用いる場合は他ユーザが投稿したコメントを削除することが出来ます。
パラメータ
  • movie_id (str) -- ライブのID

  • comment_id (str) -- コメントのID

戻り値

以下は Result の属性です。
latelimit : LateLimit
comment_id : Raw (str) 削除したコメントのID

戻り値の型

Result

参照

https://apiv2-doc.twitcasting.tv/#delete-comment

Gift

get_gifts

API.get_gifts(*, slice_id=- 1)
アクセストークンに紐づくユーザに直近10秒程度の間に送信されたアイテムを取得する。
パラメータ

slice_id(optional) (int) --

このアイテム送信ID以降に送信されたアイテムを取得します
0以上の範囲で指定できます。(デフォルト: 0)

戻り値

以下は Result の属性です。
latelimit : LateLimit
slice_id : Raw (int) 次にAPIを呼び出すときに指定する slice_id
gifts : Giftlist

戻り値の型

Result

参照

https://apiv2-doc.twitcasting.tv/#get-gifts

Supporter

get_supporting_status

API.get_supporting_status(target_user_id, *, id=None, screen_id=None)
ユーザーが、ある別のユーザのサポーターであるかの状態を取得する。
idまたはscreen_idのいずれかを指定する必要があります。
パラメータ
  • id (str) -- ライブ配信者のユーザID このパラメータを指定した場合、screen_idは無視されます。

  • screen_id (str) -- ライブ配信者のID(例: @~~)

  • target_user_id (str) -- 対象ユーザの id または screen_id

警告

Supporter とは異なり、supported_time 属性がないことに注意してください。

戻り値

以下は Result の属性です。
latelimit : LateLimit
is_supporting : Raw (bool) (id/screen_id)がtarget_user_idをサポートしているかの状況を取得します。
supported : Raw (int) サポートした日時のunixタイムスタンプ
target_user : User 対象ユーザ情報

戻り値の型

Result

例外

TwitcaspyException -- idとscreen_idの両方が指定されていないとき

参照

https://apiv2-doc.twitcasting.tv/#get-supporting-status

support_user

API.support_user(target_user_ids=None)
指定したユーザーのサポーターになる
パラメータ

target_user_ids (list or tuple) --

対象ユーザの id または screen_id の配列
配列内の要素数は 20 以下である必要があります。

戻り値

以下は Result の属性です。
latelimit : LateLimit
added_count : Raw (int) サポーター登録を行った件数

戻り値の型

Result

例外

TwitcaspyException -- target_user_idsが list または tuple ではないとき

参照

https://apiv2-doc.twitcasting.tv/#support-user

unsupport_user

API.unsupport_user(target_user_ids=None)
指定したユーザーのサポーター状態を解除する
パラメータ

target_user_ids (list or tuple) --

対象ユーザの id または screen_id の配列
配列内の要素数は 20 以下である必要があります。

戻り値

以下は Result の属性です。
latelimit : LateLimit
removed_count : Raw (int) サポーター解除を行った件数

戻り値の型

Result

例外

TwitcaspyException -- target_user_idsが list または tuple ではないとき

参照

https://apiv2-doc.twitcasting.tv/#support-user

supporting_list

API.supporting_list(*, id=None, screen_id=None, offset=0, limit=20)
指定したユーザーがサポートしているユーザーの一覧を取得する
idまたはscreen_idのいずれかを指定する必要があります。
パラメータ
  • id (str) -- ライブ配信者のユーザID このパラメータを指定した場合、screen_idは無視されます。

  • screen_id (str) -- ライブ配信者のID(例: @~~)

  • offset(optional) (int) --

    先頭からの位置
    0以上の範囲で指定できます。(デフォルト: 0)

  • limit(optional) (int) --

    最大取得件数
    1から20の範囲で指定できます。(デフォルト: 20)
    (場合により、指定件数に満たない数のサポートしているユーザーを返す可能性があります。)

戻り値

以下は Result の属性です。
latelimit : LateLimit
total : Raw (int) 全レコード数(実際に取得できる件数と異なる場合があります)
supporting : Supporterlist

戻り値の型

Result

例外

TwitcaspyException -- idとscreen_idの両方が指定されていないとき

参照

https://apiv2-doc.twitcasting.tv/#supporting-list

supporter_list

API.supporter_list(sort='ranking', *, id=None, screen_id=None, offset=0, limit=20)
指定したユーザーをサポートしているユーザーの一覧を取得する。
idまたはscreen_idのいずれかを指定する必要があります。
パラメータ
  • sort (str) --

    ソート順
    sort は下記のいずれかである必要があります。
    'new' : 新着順
    'ranking' : 貢献度順

  • id (str) -- ライブ配信者のユーザID このパラメータを指定した場合、screen_idは無視されます。

  • screen_id (str) -- ライブ配信者のID(例: @~~)

  • offset(optional) (int) --

    先頭からの位置
    0以上の範囲で指定できます。(デフォルト: 0)

  • limit(optional) (int) --

    最大取得件数
    1から20の範囲で指定できます。(デフォルト: 20)
    (場合により、指定件数に満たない数のサポートしているユーザーを返す可能性があります。)

戻り値

以下は Result の属性です。
latelimit : LateLimit
total : Raw (int) 全レコード数(実際に取得できる件数と異なる場合があります)
supporters : Supporterlist

戻り値の型

Result

例外

参照

https://apiv2-doc.twitcasting.tv/#supporter-list

Category

get_categories

API.get_categories(lang='ja')
配信中のカテゴリのみを取得する。
パラメータ

lang (str) --

検索対象の言語
lang は下記のいずれかである必要があります。
'ja' : 日本語
'en' : 英語

戻り値

以下は Result の属性です。
latelimit : LateLimit
categories : Categorylist

戻り値の型

Result

例外

TwitcaspyException -- sort が 'ja' か 'en' でないとき

参照

https://apiv2-doc.twitcasting.tv/#get-categories

Search users and movies

search_users

API.search_users(words, *, limit=10, lang='ja')
ユーザを検索する
パラメータ
  • words (str or list or tuple) --

    複数単語は半角スペース区切りすることでAND検索となります。

  • lang (str) --

    検索対象のユーザの言語設定
    現在 "ja" のみ対応
    'ja' : 日本語

  • limit(optional) (int) --

    最大取得件数
    1から50の範囲で指定できます。(デフォルト: 10)
    (場合により、指定件数に満たない数のサポートしているユーザーを返す可能性があります。)

戻り値

以下は Result の属性です。
latelimit : LateLimit
users : Userlist

戻り値の型

Result

例外

参照

https://apiv2-doc.twitcasting.tv/#search-users

search_live_movies

API.search_live_movies(*, type='word', content)
配信中のライブを検索する。
パラメータ
  • limit(optional) (int) --

    最大取得件数
    1から100の範囲で指定できます。(デフォルト: 10)
    (場合により、指定件数に満たない数のサポートしているユーザーを返す可能性があります。)

  • type (str) --

    検索種別
    type は下記のいずれかである必要があります。
    'tag' : タグ検索
    'word' : キーワード検索
    'category' : サブカテゴリID一致検索
    'new' : 新着検索
    'recommend' : おすすめ検索

  • context (int, str, list or tuple) --

    contentの型は以下の通りです。
    type が tag または word のとき : str または listtuple
    type が category のとき : int
    type が new または recommend のときは指定する必要はありません。

  • lang (str) --

    検索対象のユーザの言語設定
    現在 "ja" のみ対応
    'ja' : 日本語

戻り値

以下は Result の属性です。
latelimit : LateLimit
movies : Livelist

戻り値の型

Result

例外

参照

https://apiv2-doc.twitcasting.tv/#search-live-movies

WebHook

incoming_webhook

API.incoming_webhook(data, secure=True)
指定したWebHook URLへの通知をパースします。

ヒント

WebHook API を利用すると、特定の配信者の配信開始・終了イベントを予め指定した WebHook URL へ通知することが出来ます。

ちなみに

認証は必要ありません。

注釈

Method : POST

パラメータ
  • data (dict) --

    WebHook Payload

  • secure (bool) --

    signatureの検証機能の有効化設定

戻り値

以下は Result の属性です。
signature : Raw (str)
movie : Movie
broadcaster : User

戻り値の型

Result

例外

TwitcaspyException -- secure が真でかつ signature が一致しないとき

参照

https://apiv2-doc.twitcasting.tv/#incoming-webhook

get_webhook_list

API.get_webhook_list(limit=50, offset=0, user_id)
アプリケーションに紐づく WebHook の一覧を取得する。

ちなみに

アプリケーション単位でのみ実行可能です。
パラメータ
  • limit(optional) (int) --

    最大取得件数
    1から50の範囲で指定できます。(デフォルト: 50)
    (場合により、指定件数に満たない数のウェブホックを返す可能性があります。)

  • offset(optional) (int) --

    先頭からの位置
    0以上の範囲で指定できます。(デフォルト: 0)

  • user_id(optional) (str) --

    対象ユーザの id

ヒント

limit 及び offset パラメータは、 user_id の指定が無い場合のみ有効です。

注釈

user_idは数字のid(例: 182224938)か文字列(例: twitcasting_jp)を指定することが可能です。
戻り値

以下は Result の属性です。
latelimit : LateLimit
all_count : Raw (int) 登録済みWebHook件数
webhooks : WebHooklist

戻り値の型

Result

参照

https://apiv2-doc.twitcasting.tv/#get-webhook-list

register_webhook

API.register_webhook(user_id, event)
WebHookを新規登録します。

ちなみに

アプリケーション単位でのみ実行可能です。
パラメータ
  • user_id (str) --

    対象ユーザの id

  • events (list or tuple) --

    フックするイベント種別
    eventsの中身は str である必要があります。
    events の中身は下記のいずれかである必要があります。
    'livestart' : ライブ開始
    'liveend' : ライブ終了

注釈

user_idは数字のid(例: 182224938)か文字列(例: twitcasting_jp)を指定することが可能です。
戻り値

以下は Result の属性です。
latelimit : LateLimit
user_id : Raw (str) ユーザーID
added_events : strlist 登録されたイベント種別

戻り値の型

Result

例外

参照

https://apiv2-doc.twitcasting.tv/#get-webhook-list

remove_webhook

API.remove_webhook(user_id, event)
Remove WebHook.

ちなみに

アプリケーション単位でのみ実行可能です。
パラメータ
  • user_id (str) --

    対象ユーザの id

  • events (list or tuple) --

    フックするイベント種別
    eventsの中身は str である必要があります。
    events の中身は下記のいずれかである必要があります。
    'livestart' : ライブ開始
    'liveend' : ライブ終了

注釈

user_idは数字のid(例: 182224938)か文字列(例: twitcasting_jp)を指定することが可能です。
戻り値

以下は Result の属性です。
latelimit : LateLimit
user_id : Raw (str) ユーザーID
deleted_events : strlist 削除されたイベント種別

戻り値の型

Result

例外

参照

https://apiv2-doc.twitcasting.tv/#remove-webhook

Broadcasting

get_rtmp_url

API.get_rtmp_url()
アクセストークンに紐づくユーザの配信用のURL(RTMP)を取得する。

ちなみに

アプリケーション単位以外でのみ実行可能です。
戻り値

以下は Result の属性です。
latelimit : LateLimit
enabled : Raw (bool) RTMP配信が有効かどうか
url : str または None RTMP配信用URL
stream_key : str of None RTMP配信用キー

戻り値の型

Result

参照

https://apiv2-doc.twitcasting.tv/#get-rtmp-url

get_webm_url

API.get_webm_url()
アクセストークンに紐づくユーザの配信用のURL(WebM, WebSocket)を取得する。

ちなみに

アプリケーション単位以外でのみ実行可能です。
戻り値

以下は Result の属性です。
latelimit : LateLimit
enabled : Raw (bool) WebM配信が有効かどうか
url : str または None WebM配信用URL

戻り値の型

Result

参照

https://apiv2-doc.twitcasting.tv/#get-webm-url