Inwentarze użytkowników

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

API Inwentarza pozwala uzyskać dostęp do większości tych samych informacji, co strona Roblox Mój inwentarz. Możesz sprawdzić, czy użytkownik posiada poszczególne przedmioty oraz pobrać pełną listę przedmiotów, które posiada gracz.

Odpowiedzi z API Inwentarza zawierają przedmioty z następujących kategorii:

  • Odzież (akcesoria, dolne części, klasyczne ubrania, buty, górne części)
  • Zakupy i nagrody (odznaki, przepustki, zakupione miejsca, serwery prywatne)
  • Przedmioty awatara (animacje awatara, klasyczne głowy, emocje, twarze, włosy, głowy)

Przed użyciem API Inwentarza musisz wygenerować klucz API lub skonfigurować OAuth 2 dla swojej aplikacji. Przykłady na tej stronie korzystają z kluczy API.

Sprawdzenie własności przedmiotu

Jeśli chcesz sprawdzić, czy użytkownik posiada dany przedmiot (na przykład ograniczony, odznakę, przepustkę lub serwer prywatny), użyj parametru filter, aby sprawdzić listę ID oddzieloną przecinkami. Ten przykład kodu sprawdza trzy identyfikatory zasobów:


const https = require('node:https');
const userId = 11111111111;
const hostname = 'apis.roblox.com';
const path = `/cloud/v2/users/${userId}/inventory-items`;
const params = '?filter=assetIds=62724852,1028595,4773588762';
const url = 'https://' + hostname + path + params;
const apiKey = '123456789012345678901234567890123456789012345678';
const options = {
headers: {
'x-api-key': `${apiKey}`,
},
};
https
.get(url, options, (response) => {
console.log('statusCode:', response.statusCode);
let data = '';
response.on('data', (d) => {
data += d;
});
response.on('end', () => {
if (response.statusCode === 200) {
const jsonData = JSON.parse(data);
console.log('Response Data:', JSON.stringify(jsonData, null, 2));
} else {
console.error('Błąd:', response.statusCode, response.statusMessage);
}
});
})
.on('error', (e) => {
console.error(e);
});

Poniższa odpowiedź wskazuje, że użytkownik posiada jeden z trzech przedmiotów:


{
"inventoryItems": [
{
"path": "users/11111111111/inventory-items/VVNFUl9BU1NFVF9JRD0yMDAxMDUxMTkzODg",
"assetDetails": {
"assetId": "1028595",
"inventoryItemAssetType": "CLASSIC_TSHIRT",
"instanceId": "200105119388"
}
}
],
"nextPageToken": ""
}

Filtrowanie przedmiotów

Jeśli chcesz wyświetlić, na przykład, tylko kolekcjonerskie przedmioty, które posiada użytkownik, użyj tego samego kodu co powyżej, tylko z innym parametrem filter.


const params = '?filter=onlyCollectibles=true;inventoryItemAssetTypes=*';

Łącz filtry, używając listy oddzielonej średnikami. Oto kilka przykładów:


filter=onlyCollectibles=true;inventoryItemAssetTypes=HAT,CLASSIC_PANTS
filter=badgeIds=111111,222222;gamePassIds=777777;privateServerIds=999999
filter=gamePasses=true;badges=true

Większość wywołań API nie wymaga żadnych szczególnych uprawnień, ale kilka filtrów wymaga uprawnień do odczytu inwentarza. Aby uzyskać więcej informacji, zobacz Filtrowanie.

Stronicowanie wyników

Jeśli odpowiedź zawiera wartość dla nextPageToken, użyj tej wartości w parametrze pageToken kolejnego żądania, aby pobrać następną stronę. Aby uzyskać więcej informacji, zobacz Stronicowanie.

Jeśli liczba wyników jest podzielna przez maxPageSize (na przykład masz 50 wyników i maxPageSize wynosi 25), możesz napotkać sytuację, w której Twoja odpowiedź zawiera wartość dla nextPageToken, ale żądanie z użyciem tego tokena nie zwraca żadnych wyników:


GET /cloud/v2/users/{userId}/inventory-items?maxPageSize=25&pageToken=cccDDD
{
"inventoryItems": [],
"nextPageToken": ""
}

Podczas implementowania stronicowania w swojej aplikacji, najlepszą praktyką jest sprawdzenie nie tylko, czy nextPageToken nie jest pusty, ale także, czy tablica inventoryItems nie jest pusta.

©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.