### PlayStation Title Info Checker v1.0.8 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.8 - 2020/02/02)

### テキストボックス/チェックボックス/セレクトボックス/ボタン ###

### URLのパラメータ ###

以下のパラメータを使用可能です。複数のパラメータを使用する場合は&で繋げてください。
※「PlayStation Title Info Checker」部分をダブルクリックすると、その時の状態のパラメータを付与したURLがコンソールに出力&クリップボードにコピーされます。 例)

### Media Check ###

タイトルIDからどのようなメディアかを判別します。
例)

### Region Check ###

タイトルIDの英字部分からリージョンを判別します。(判別可能な場合のみ)
例)

### Rights/Type Check ###

タイトルIDの英字部分からファーストパーティ製/サードパーティ製を判別します。(判別可能な場合のみ)(Rights Check)
NPから始まるPSP,PS3 Digitalコンテンツはコンテンツの種類も判別可能です。(Type Check)
例)

### Tmdb Check ###

PS3、PS4のタイトルIDから、ゲームのメタデータを記したxml(PS3)/json(PS4)のURLを作成し、そこから情報を取得/表示します。
※PS3の場合、全てのゲームに対して存在するわけでは無いようです。
※データが存在しない場合には "404" と表示されます。
※チェックボックスにチェックが入っている場合のみチェックが行われます。
URL例) 取得/表示する情報 (PS3) 取得/表示する情報 (PS4)

### Update Check ###

PSP、PSVita、PS3、PS4のタイトルIDから、ゲームの更新データの情報を記したxmlのURLを作成し、そこから情報を取得/表示します。
※データが存在しない場合には "404" と表示されます。
※チェックボックスにチェックが入っている場合のみチェックが行われます。
URL例) 取得/表示する情報 (PSP/PS3) 取得/表示する情報 (PSVita) 取得/表示する情報 (PS4)

### Chihiro Check ###

PSストアの製品ページの情報を記したjsonのURLを作成し、そこから情報を取得/一部を表示します。(chihiroはPSストアで使用されているAPIの名前です)
※データが存在しない場合には "404" と表示されます。
※チェックボックスにチェックが入っている場合のみチェックが行われます。
URL例) 私が把握している製品ページのjsonのURLのフォーマットは以下の3種です。 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が作成されます。

取得/表示する情報 取得/表示する情報 (PS Video)

### 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.8.zip
JavaScriptにおいてクロスドメインの制約があるため、それを回避するためにデータの取得でPHPを使用しています。
これにより、クライアント側の通信環境、サーバのスペックや状態によってはデータ取得で数秒の待ち時間が発生する事があります。
パフォーマンスの観点から、このCheckerはローカルで動作させる事をお勧めします。

### Credits ###