### PlayStation Title Info Checker v1.0.9 by kood (@kood_infothief) ###
http://kood.info/pstic/
[PSP/PSVITA/PS3/PS4] のコンテンツの [タイトルID/コンテンツID/PSストアの製品ページのURL] から知る事の出来る情報を表示します。
※XXXXYYYYYの形のタイトルIDだけでなく、ハイフンがあるタイトルID(XXXX-YYYYY)や末尾に_00があるタイトルIDも使用可能です。
※コンテンツIDを入力するとそこからタイトルIDが、URLを入力するとそこからコンテンツIDとタイトルIDが抜き出されそれらを使用する処理が行われます。
※更新履歴は
changelog.htmlにまとめています。(最新は v1.0.9 - 2020/03/29)
### テキストボックス/チェックボックス/セレクトボックス/ボタン ###
- テキストボックス
入力を監視し、タイトルID、コンテンツID、PSストアの製品ページのURLの何れかを検出すると各種チェックを実行します。
(チェック実行中はテキストボックス/チェックボックス/セレクトボックスへの変更を受け付けないようにしています。)
- Tmdb(PS3/PS4)
チェックが入っている場合、PS3、PS4のタイトルIDを検出するとTmdb Checkを実行します。
チェックが外れている状態でチェックを実行し、その後でチェックを入れると、タイトルIDが変数に入っていてかつそのタイトルIDがPS3或いはPS4だと
判別されている場合にそのタイトルIDでTmdb Checkを実行します。
- Update
チェックが入っている場合、Update Checkが可能なタイトルIDを検出するとUpdate Checkを実行します。
チェックが外れている状態でチェックを実行し、その後でチェックを入れると、タイトルIDが変数に入っていてかつそのタイトルIDでUpdate Checkが
可能である場合、そのタイトルIDでUpdate Checkを実行します。
- Chihiro
チェックが入っている場合、Chihiro Check可能な場合にChihiro Checkを実行します。
チェックが外れている状態でチェックを実行し、その後でチェックを入れると、Chihiro Checkが可能な場合にChihiro Checkを実行します。
- セレクトボックス
Chihiro Checkで使用する国コード/言語コードの指定が可能です。
defaultの場合はタイトルID/コンテンツIDから判別したリージョン情報で決定するか、ストアのURLから抜き出します。
既にChihiro Checkを実行済みの場合に変更すると、その国コード/言語コードで再度Chihiro Checkを行います。
- deleteボタン
初回のチェック終了後に表示されます。グローバル変数のリセット、表示された情報の削除、テキストボックスのクリアを行います。
チェック終了後、チェックボックスにチェックを入れたりセレクトボックスの値を変更すると変数に入っている値によっては各種チェックが実行されるため、
それを避けて別のID、URLでのチェックに移行したい時向けです。
チェックボックス、セレクトボックスを変更しない場合やチェックを外す場合にはこのボタンは押さなくても問題ありません。
(テキストボックスのクリアには有用です。グローバル変数のリセット、表示された情報の削除はテキストボックスからのチェックでも実行されます。)
### URLのパラメータ ###
以下のパラメータを使用可能です。複数のパラメータを使用する場合は&で繋げてください。
※「PlayStation Title Info Checker」部分をダブルクリックすると、その時の状態のパラメータを付与したURLがコンソールに出力&クリップボードにコピーされます。
- key : [タイトルID/コンテンツID/PSストアの製品ページのURL]の何れか
- tmdb : nでTmdb Checkを無効に(チェックを解除)
- update: nでUpdate Checkを無効に(チェックを解除)
- chihiro : nでChihiro Checkを無効に(チェックを解除)
- select : セレクトボックスの値(パラメータによる指定無しでdefault)
例)
- /index.html?key=CUSA06027&select=us/en
- /index.html?key=NPJB00015&update=n&chihiro=n
- /index.html?key=JP0005-BLJM61239_00-ODINSPHERELEPA00&chihiro=n
- /index.html?key=https://store.playstation.com/ja-jp/product/JP0101-PCSG01248_00-PROBBSPIRITS2019
### Media Check ###
タイトルIDからどのようなメディアかを判別します。
例)
- ULJS00237 → PSP UMD
- BLJM61239 → PS3 BD
- NPJB00681 → PS3 Digital
- PCSG01248 → PSVita Card/Digital
- CUSA12612 → PS4 BD/Digital
### Region Check ###
タイトルIDの英字部分からリージョンを判別します。(判別可能な場合のみ)
例)
- ULJS00237 → Japan
- BLUS31444 → USA
- PCSB00190 → Europe
- VCAS32024 → Asia
### Rights/Type Check ###
タイトルIDの英字部分からファーストパーティ製/サードパーティ製を判別します。(判別可能な場合のみ)(Rights Check)
NPから始まるPSP,PS3 Digitalコンテンツはコンテンツの種類も判別可能です。(Type Check)
例)
- ULJS00237 → Third Party
- NPJB00772 → Third Party PS3
- NPJH50832 → Third Party PSP
- NPJI90001 → First Party PS1 Classic (NTSC)
- NPJC00001 → First Party PS2 Classic
- PCSC00013 → First Party
### Tmdb Check ###
PS3、PS4のタイトルIDから、ゲームのメタデータを記したxml(PS3)/json(PS4)のURLを作成し、そこから情報を取得/表示します。
※PS3の場合、全てのゲームに対して存在するわけでは無いようです。
※データが存在しない場合には "404" と表示されます。
※チェックボックスにチェックが入っている場合のみチェックが行われます。
URL例)
- http://tmdb.np.dl.playstation.net/tmdb/BLJM61135_00_B8BD02836FC532DB83360C35C078B27033DE5AD3/BLJM61135_00.xml
- http://tmdb.np.dl.playstation.net/tmdb/NPJB00681_00_0AA98260CFD7D6D5DD823E85E0AF26882631DB4C/NPJB00681_00.xml
- http://tmdb.np.dl.playstation.net/tmdb2/CUSA06027_00_AA8E31E0B12E7F36486DBC3760F7375D8F4581F5/CUSA06027_00.json
- http://tmdb.np.dl.playstation.net/tmdb2/CUSA15979_00_EA325021A33ABB32FDD4AFC8EFF2138D99B06722/CUSA15979_00.json
取得/表示する情報 (PS3)
- タイトル(各言語のタイトルを取得した場合は右側に表示される矢印をクリックで表示を切り替え)
- アイコン(ダイアログ)
- メディアタイプ(BD/Digital)
- ペアレンタルレベル(各言語のペアレンタルレベルを取得した場合は右側に表示される矢印をクリックで表示を切り替え)
- 解像度情報
- サウンドフォーマット情報
取得/表示する情報 (PS4)
- タイトル(各言語のタイトルを取得した場合は右側に表示される矢印をクリックで表示を切り替え)
- コンテンツID(タイトルIDを入力した場合のみ)
- リージョン(コンテンツIDの頭文字から判別)(コンテンツIDを取得した場合のみ)
- アイコン(ダイアログ)(各言語向けに複数枚存在する場合有り)
- ペアレンタルレベル
- 対戦/協力プレイの最大人数(jsonに記述されている場合のみ)
- PSVRに対応しているかどうか
- PS4Proに対応しているかどうか
- pronunciation.xmlの内容(ダイアログ)
- 背景画像(PS4のホーム画面でカーソルを合わせた際に表示される画像)(jsonに記述されている場合のみ)(ダイアログ)
- BGM(PS4のホーム画面でカーソルを合わせた際に再生されるat9)のリンク(jsonに記述されている場合のみ)
### Update Check ###
PSP、PSVita、PS3、PS4のタイトルIDから、ゲームの更新データの情報を記したxmlのURLを作成し、そこから情報を取得/表示します。
※データが存在しない場合には "404" と表示されます。
※チェックボックスにチェックが入っている場合のみチェックが行われます。
URL例)
- https://a0.ww.np.dl.playstation.net/tpl/np/ULJS00237/ULJS00237-ver.xml
- https://a0.ww.np.dl.playstation.net/tpl/np/BLJM61239/BLJM61239-ver.xml
- http://gs-sec.ww.np.dl.playstation.net/pl/np/PCSG01248/bd3e64d3afa5032fce82f7dc2b2a4b970b1bccc7cbe8c6491ea408d15376c8ed/PCSG01248-ver.xml
- http://gs-sec.ww.np.dl.playstation.net/plo/np/CUSA01516/9094aef07b2a3758025075d7b47308ad06ed8826b7c9c61c8cab735cff9c1200/CUSA01516-ver.xml
取得/表示する情報 (PSP/PS3)
- タイトル(各言語のタイトルを取得した場合は右側に表示される矢印をクリックで表示を切り替え)
- コンテンツID(更新データのpkgのURLから切り取って取得)(タイトルIDを入力した場合のみ)
- 更新データ適用後、ゲーム起動のために要求されるFWバージョン(pkgが複数ある場合は最新版の要求FWを表示)
- 更新データのバージョン値 + pkgのリンク + pkgのサイズ (pkgが複数あるタイトルでは全て表示)
- PARAM.HIPのリンク(存在する場合のみ)(PARAM_xx.HIPがあるタイトルではそのリンクをまとめたダイアログを表示可能)
取得/表示する情報 (PSVita)
- タイトル(各言語のタイトルを取得した場合は右側に表示される矢印をクリックで表示を切り替え)
- コンテンツID(タイトルIDを入力した場合のみ)
- 更新データ適用後、ゲーム起動のために要求されるFWバージョン(incrementalがある場合は最新版の要求FWを表示)
- 更新データのバージョン値 + pkgのリンク + pkgのサイズ (incremental/hibdidがある場合はそれらも表示)
- changeinfo.xmlのリンク(ChangeInfo_xx.xmlがあるタイトルではそのリンクをまとめたダイアログを表示可能)
取得/表示する情報 (PS4)
- タイトル(各言語のタイトルを取得した場合は右側に表示される矢印をクリックで表示を切り替え)
- コンテンツID(タイトルIDを入力かつTmdb Checkが無効の場合のみ)
- リージョン(タイトルIDを入力かつTmdb Checkが無効の場合のみ)(コンテンツIDの頭文字から判別)
- mandatory yes/no
- 更新データ適用後、ゲーム起動のために要求されるFWバージョン
- 更新データのバージョン値
- パッチの合計サイズ(4GB毎に分割されているため合計という扱い)
- manifest json(PKG Manifest)のリンク
- ピース数(分割数)
- 更新データのpkgのリンク(分割により複数存在する場合は全て表示)
- delta pkgのリンク
- changeinfo.xmlのリンク(PS4初期の更新データに存在(現在changeinfoはpkgに内包))(ChangeInfo_xx.xmlがあるタイトルではそのリンクをまとめたダイアログを表示可能)
- playgo-manifest.xmlのリンク
### Chihiro Check ###
PSストアの製品ページの情報を記したjsonのURLを作成し、そこから情報を取得/一部を表示します。(chihiroはPSストアで使用されているAPIの名前です)
※データが存在しない場合には "404" と表示されます。
※チェックボックスにチェックが入っている場合のみチェックが行われます。
URL例)
- https://store.playstation.com/store/api/chihiro/00_09_000/container/jp/ja/999/JP0102-NPJD00001_00-0000000000000000
- https://store.playstation.com/store/api/chihiro/00_09_000/container/us/en/999/UP1063-PCSE01100_00-DANGANV3VITA0000
- https://store.playstation.com/store/api/chihiro/00_09_000/container/cn/zh/999/UP8812-CUSA05210_00-ASIA000000000181
- https://store.playstation.com/store/api/chihiro/00_09_000/container/jp/ja/999/JV0123-NPMA41464_CN-0000000000185569
- https://store.playstation.com/store/api/chihiro/00_09_000/titlecontainer/jp/ja/999/CUSA06027_00
- https://store.playstation.com/store/api/chihiro/00_09_000/titlecontainer/us/en/999/CUSA06027_00
私が把握している製品ページのjsonのURLのフォーマットは以下の3種です。
- https://store.playstation.com/chihiro-api/viewfinder/(国コード)/(言語コード)/999/(コンテンツID)
- https://store.playstation.com/store/api/chihiro/00_09_000/container/(国コード)/(言語コード)/999/(コンテンツID)
- https://store.playstation.com/store/api/chihiro/00_09_000/titlecontainer/(国コード)/(言語コード)/999/(PS4のゲームのタイトルID)
viewfinderとcontainerの内容はほぼ同じ(?)で、軽く調べた所containerを使用している人の方が多いように見えたのでCheckerではcontainerのURLの作成を採用しました。
titlecontainerはPS4のゲームでのみ(?)有効っぽく、異なるリージョンのjson取得にも対応しているようです。
CUSA06027(日本版MHW)を例にすると、国コード/言語コードがjp/jaだとCUSA06027のjsonが取得出来、国コード/言語コードがus/enだと北米版MHWであるCUSA07713のjsonが取得出来ます。
CheckerではDLCやテーマのjson取得も考慮し、titlecontainerで済むPS4のゲーム本編(PS4のタイトルID入力)以外はcontainerのURLを作成するようにしています。
containerはコンテンツIDが必要なため、PS4以外のタイトルIDを入力した場合は、更新データのxmlから取得出来るコンテンツIDでURLを作成します。
ただ、更新データのxmlにあるコンテンツIDはPSストアで使用されているコンテンツIDとは異なる事があります。その場合にはデータが存在しない無効なchihiroのURLが作成されます。
その場合、PSストアでタイトルの検索に使用されているAPIであるValkyrieにTmdb check,Update checkで取得したタイトルを投げてValkyrie Checkを行います。
(PS3のタイトルIDを入力し、「Tmdb取得成功」かつ「Update取得失敗/Update Check無効」かつ「Chihiro Check有効」の場合も、Valkyrie Checkを行います)
国コード/言語コードは、PSストアのURLを入力した場合にはそこから取得するようにしています。
タイトルID/コンテンツIDを入力した場合は、それらから判別出来るリージョン情報から6通りの国コード/言語コードを設定するようにしています。
ただし国コード/言語コードは私の知る限り94通りあるため、無効なURLが作成される可能性も割と高いです。
上記はセレクトボックスでdefaultが指定されている場合の動作です。
セレクトボックスで任意の国コード/言語コードを選択した場合、それを使用するようにしています。
また、既にChihiro Checkを実行済みの場合、セレクトボックスを変更した際にその国コード/言語コードで再度Chihiro Checkを行います。
PSストアに存在する製品のタイトルID/コンテンツIDを入力して無効なURLが作成された場合、原因は国コード/言語コードにあります。
(PS4以外のタイトルIDを入力した場合、更新データのxmlからストアに無いコンテンツIDを取得している事も考えられます)
セレクトボックスがdefaultかつ製品が存在する正しいURLを入力した場合、私のコードが悪くない限り正しいURLが作成されます。
取得/表示する情報
- タイトル
- タイトルID(PS4のタイトルID入力かつ別リージョンのjsonを取得した場合、或いはValkyrie Checkでヒットした場合)
- コンテンツID(PS4のタイトルID入力かつ別リージョンのjsonを取得した場合、、或いはValkyrie Checkでヒットした場合)
- 製品ページのリンク(国コード,言語コード,コンテンツIDからリンクを作成します)
- 製品画像(ダイアログ)(各プラットフォーム向けに分けているのか、複数枚存在します)
- パブリッシャー
- 発売日(取得出来る場合のみ)
- レーティング情報(CERO等)
- コンテンツのタイプ
- Eligibilities(その製品を購入/DLするために必要なタイトルのリスト?)(存在する場合のみ)(ダイアログ)
- Entitlements(その製品を購入する事で得られるタイトルのリスト?)(中身が複数個の場合のみ)(ダイアログ)
- 価格(販売されている場合のみ)
- Discount/Reward(割引やプラス限定等の情報)(ダイアログ)
- コンテンツのサイズ(Checkerは1024B=1KBで計算しますが、PSストアは1000B=1KBで計算しているようなので、結果は異なります)
- 製品の動画/スクリーンショット(存在する場合のみ)(ダイアログ)
- 製品の説明文(ダイアログ)
- 評価件数の合計
- 評価の平均(PSストアには表示されていない情報です)
- 星5~星1の数(PSストアには表示されていない情報です)
- 関連商品のリンク(1?relationship=)(取得出来る場合のみ)
- 親(DLCに対応する本編)のタイトル名(取得出来る場合のみ)
- 親の製品ページのリンク(取得出来る場合のみ)
取得/表示する情報 (PS Video)
- シリーズ名(sub_categoryがseriesの場合)
- タイトル(sub_categoryがseason或いはfilmの場合)
- タイトル及びエピソード名(sub_categoryがepisodeの場合)
- 製品ページのリンク(国コード,言語コード,コンテンツIDからリンクを作成します)
- 製品画像(ダイアログ)(各プラットフォーム向けに分けているのか、複数枚存在します)
- パブリッシャー
- 発売日(取得出来る場合のみ)
- コピーライト(取得出来る場合のみ)
- ジャンル(取得出来る場合のみ)
- スタジオ(取得出来る場合のみ)
- 価格(販売されている場合のみ)
- Discount/Reward(割引やプラス限定等の情報)(ダイアログ)
- 製品の説明文(ダイアログ)
- エピソードリスト(sub_categoryがepisodeの場合)(ダイアログ)
(リスト中のコンテンツIDをクリックするとそのコンテンツIDでChihiro Checkを実行)
- 評価件数の合計
- 評価の平均(PSストアには表示されていない情報です)
- 星5~星1の数(PSストアには表示されていない情報です)
- sub_categoryがseasonのコンテンツIDでChihiro Checkを実行するリンク
(sub_categoryがseriesの場合或いはepisodeの場合)
### Valkyrie Check ###
Chihiro Checkで無効なURLが作成された場合に、PSストアでタイトルの検索に使用されているAPIであるValkyrieにTmdb check,Update checkで取得したタイトルを投げ、検索結果(json)から
「タイトルIDが一致」或いは「タイトルが完全に一致」或いは「コンテンツIDの後ろの16文字が一致」を探し、ヒットした場合は新たなコンテンツIDにて再度Chihiro Checkを行います。
検索結果が1つ以上の場合、検索に使用したValkyrieのURLは"Valkyrie json"としてリンクを表示します。
(検索結果が0の場合にはリンクは表示しません。URLを確認したい場合にはブラウザのコンソールから確認してください)
ヒットした場合、新たなchihiroのURLは"Chihiro json2"としてリンクを表示します。。
PS3のタイトルIDを入力し、「Tmdb取得成功」かつ「Update取得失敗/Update Check無効」かつ「Chihiro Check有効」の場合も、Valkyrie Checkを行います。
その場合、コンテンツIDが無い状態でのスタートとなるため、タイトルIDの比較とタイトルの比較のみを行い、ヒットした場合は"Chihiro json2"ではなく"Chihiro json"と表示します。
※検索結果を増やすため、全角/半角スペースや改行コード、™や@のような検索結果を減らす可能性がある文字以降を取り除いたタイトルを投げます。
※検索結果から無駄を省くため、"platform=vita" のようにして検索結果を対象のハードに絞ります。
※「Odin Sphere Leifthrasir」(BLJM61239)(Tmdb,Update)、「オーディンスフィア レイヴスラシル」(PSストア)、のような表記揺れタイトルはヒットしません。
※v1.0.0/1ではValkyrieのfaceted-searchを使用していましたが、v1.0.2でtumbler-searchに切り替えた事でtypeの確認処理が不要になりました。
ヒットの例1)
1.「Secret of Mana」(JP0082-PCSG01121_00-SECRETOFMANPSVPK)の「Secret」をValkyrieへ
2.PCSG01121のJP0082-PCSG01121_00-SERCRETOFMAPSVDLを取得し、それを用いて再度Chihiro Check
ヒットの例2)
1.「METAL GEAR SOLID V: GROUND ZEROES」(JP0101-BLJM61135_00-MAINGAME00000000)の「METAL」をValkyrieへ
2.「METAL GEAR SOLID V: GROUND ZEROES」のJP0101-NPJB00396_00-MAINGAME00000000を取得し、それを用いて再度Chihiro Check
### Others ###
ローカルで使用したい方は以下からDLしてください。
PlayStationTitleInfoChecker v1.0.9.zip
JavaScriptにおいてクロスドメインの制約があるため、それを回避するためにデータの取得でPHPを使用しています。
これにより、クライアント側の通信環境、サーバのスペックや状態によってはデータ取得で数秒の待ち時間が発生する事があります。
パフォーマンスの観点から、このCheckerはローカルで動作させる事をお勧めします。