UEMarketplaceで集めたアセットの一覧を出力する
使い方
1.マケプレのページを開く。
2.ChromeDeveloperToolのコンソールを表示する。
3.下記のコードを流し込む。
4.ログにcsvが吐かれるのでコピーして保存。
5.Google SpreadSheetにインポート。
6.各行の高さ、各列の幅などを調整。
使い道...?
プロジェクト開始前に「この機能の仮実装は一旦このアセットで」とか、
「今回はこの開発支援プラグイン使おうか」とか相談するのに使えるかもしれません。
const VAULT_URL = 'https://www.unrealengine.com/marketplace/api/assets/vault' const pagingQueryResp = await (await fetch(VAULT_URL + '?lang=ja&start=0&count=1')).json() const loopMax = Math.ceil(pagingQueryResp.data.paging.total/100) let buffer = '' function writeColumn(body){ buffer = buffer + '"'+body+'",' } for(let i=0;i<loopMax;i++) { // 指定範囲のアセット情報を問い合わせ const requestUrl = VAULT_URL + '?lang=ja&start='+(i*100)+'&count=100' console.log(requestUrl) const response = await fetch(requestUrl) console.log(response) const responseJson = await response.json() console.log(responseJson) const elements = responseJson.data.elements for (let item of elements) { // 除外したいものがあれば除外 if(item.seller.name != 'Epic Games' && item.seller.name != 'Quixel Megascans') { // ほしい内容を拾う writeColumn('=IMAGE(""'+item.thumbnail+'"", 1)') writeColumn(item.title) writeColumn(item.description.replaceAll('"', '""')) if(item.categories && 0 < item.categories.length){ writeColumn(item.categories[0].name) }else{ writeColumn('') } writeColumn(item.seller.name) writeColumn('https://www.unrealengine.com/marketplace/ja/item/'+item.catalogItemId) buffer = buffer + '\n' } } } // ログに結果を出力 console.log(buffer)
なんとなくだらしないコードになってしまった気がする...
↓Google SpreadSheetにインポートして調整した結果