🤠
OpenSeaのメタ情報の更新を自動化するスクリプトをGASで組んでみた
はじめに
dNFTを作る我らにとってはopenseaのmetadataの更新って結構めんどくさいですよね。
ユーザー側に依頼すんのもなんかなーって感じですし。。。
ということでGoogle Apps Scriptで自動化を組んでみました。
使い方
コントラクトアドレスに更新したいアドレスをいれ、idstartに開始番号、idendに終了番号を入れるだけです。
本番環境
function openseaMetadataRefreshScript() {
// コントラクトアドレスの指定
var contractaddress = "0xhonyahonyahonyahonya";
// idの開始番号
var idstart = 0;
// idの終了番号
var idend = 699;
// metadataの更新を繰り返す
for (var id = idstart; id <= idend; id++) {
// HTTP リクエストを送信するためのオプションを指定する
var options = { method: "GET" };
// URLの指定
var url = 'https://api.opensea.io/api/v1/asset/' + contractaddress + '/' + id + '/?force_update=true';
// httpリクエストの送信
var response = UrlFetchApp.fetch(url, options);
// IDの更新終了終了メッセージ
console.log('ID:' + id + 'の更新リクエストが完了しました。');
// 1秒待機
Utilities.sleep(1000);
}
// 全処理終了メッセージ
console.log('全ての更新リクエストが終了しました。');
}
testnet
function openseaMetadataRefreshScript() {
// コントラクトアドレスの指定
var contractaddress = "0xhonyahonyahonyahonya";
// idの開始番号
var idstart = 0;
// idの終了番号
var idend = 699;
// metadataの更新を繰り返す
for (var id = idstart; id <= idend; id++) {
// HTTP リクエストを送信するためのオプションを指定する
var options = { method: "GET" };
// URLの指定
var url = 'https://testnets-api.opensea.io/api/v1/asset/' + contractaddress + '/' + id + '/?force_update=true';
// httpリクエストの送信
var response = UrlFetchApp.fetch(url, options);
// IDの更新終了終了メッセージ
console.log('ID:' + id + 'の更新リクエストが完了しました。');
// 1秒待機
Utilities.sleep(1000);
}
// 全処理終了メッセージ
console.log('全ての更新リクエストが終了しました。');
}
最後に
GASのHTTPリクエストは上限やら1秒に1回という縛りがあるのでid数が多いのは結構時間かかります。
リビールの時とかに使っていただくと結構使いやすいんじゃなかろうかとは思っています。
宣伝
現在、ゾンビの女の子をテーマにしたプロジェクトやってます!
ぜひチェックしてください!
サイトはこちら
Discordはこちら
Discussion