Inventory API cho phép bạn truy cập vào hầu hết cùng một thông tin như trang Roblox Inventory của tôi. Bạn có thể kiểm tra xem một người sở hữu các mặt hàng của riêng họ và lấy danh sách đầy đủ của các mặt hàng mà người đó sở hữu.
Các kết quả từ Inventory API bao gồm các mục từ các danh mục sau đây:
- Quần áo (phụ kiện, trạng phục, quần áo cổ điển, giày, áo phông)
- Mua và phần thưởng (các kỷ lục, vượt qua, nơi mua, máy chủ riêng)
- Vật phẩm Avatar (hành động avatar, đầu cổ điển, biểu cảm, mặt, tóc, đầu)
Trước khi sử dụng API Inventory, bạn phải tạo một chìa khóa API hoặc tùy chỉnh OAuth 2 cho ứng dụngcủa bạn. Các ví dụ trên trang này sử dụng chìa khóa API.
Kiểm tra sở hữu vật phẩm
Nếu bạn muốn kiểm tra có phải người dùng sở hữu một vật phẩm nhất định (ví dụ, một huy hiệu, một vé, một qua hoặc một máy chủ riêng), hãy sử dụng filter tham số để kiểm tra cho một danh sách tách câu hỏi trong một hoặc nhiều ID. This code sample checks for three asset IDs:
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('Error:', response.statusCode, response.statusMessage);
}
});
})
.on('error', (e) => {
console.error(e);
});
Câu trả lời sau đây cho thấy rằng người dùng sở hữu một trong ba món đồ:
{
"inventoryItems": [
{
"path": "users/11111111111/inventory-items/VVNFUl9BU1NFVF9JRD0yMDAxMDUxMTkzODg",
"assetDetails": {
"assetId": "1028595",
"inventoryItemAssetType": "CLASSIC_TSHIRT",
"instanceId": "200105119388"
}
}
],
"nextPageToken": ""
}
Đang lọc Vật phẩm
Nếu bạn muốn hiển thị, chẳng hạn, chỉ những mục sưu tập mà một người sở hữu, hãy sử dụng cùng một mã như ở trên, chỉ với một đối số filter khác.
const params = '?filter=onlyCollectibles=true;inventoryItemAssetTypes=*';
Trộn và kết hợp các lọc bằng cách sử dụng một danh sách chia câu. Dưới đây là một số ví dụ:
filter=onlyCollectibles=true;inventoryItemAssetTypes=HAT,CLASSIC_PANTSfilter=badgeIds=111111,222222;gamePassIds=777777;privateServerIds=999999filter=gamePasses=true;badges=true
Hầu hết các cuộc gọi đến API không yêu cầu bất kỳ quyền truy cập cụ thể, nhưng một vài lọc cần quyền truy cập Inventory. Để biết thêm thông tin, hãy xem Lọc.
Trả kết quả
Nếu một câu trả lời bao gồm giá trị cho nextPageToken , hãy sử dụng giá trị đó trong pageToken参数 của yêu cầu tiếp theo để lấy lại trang tiếp theo. Để biết thêm thông tin, hãy xem Pagination.
Nếu số kết quả có thể chia bằng maxPageSize (ví dụ, bạn có 50 kết quả và một maxPageSize của 25), bạn có thể gặp một tình huống trong đó câu trả lời của bạn bao gồm một giá trị cho nextPageToken , nhưng một yêu c
GET /cloud/v2/users/{userId}/inventory-items?maxPageSize=25&pageToken=cccDDD
{
"inventoryItems": [],
"nextPageToken": ""
}
Khi thực hiện pagination trong ứng dụng của bạn, tốt nhất là kiểm tra không chỉ cho một nextPageToken , nhưng còn cho một inventoryItems h阵.