API กระเป๋าเก็บของ ช่วยให้คุณเข้าถึงข้อมูลส่วนใหญ่เดียวกับหน้า กระเป๋าเก็บของของฉัน ของ Roblox คุณสามารถตรวจสอบว่าผู้ใช้เป็นเจ้าของรายการไอเท็มแต่ละรายการและดึงราย
การตอบกลับจาก API กระเป๋าเงิน รวมถึงรายการจากประเภทต่อไปนี้:
- เครื่องแต่งกาย (เครื่องประดับ กางเกง เสื้อผ้าคลาสสิก รองเท้า การปรับแต่ง)
- การซื้อและรางวัล (เหรียญตรา ผ่าน สถานที่ที่ซื้อ เซิร์ฟเวอร์ส่วนตัว)
- รายการอวาตาร์ (อนิเมชันอวาตาร์ หัวคลาสสิก เม็ดเงิน หน้า ผม หัว)
ก่อนใช้ API กระเป๋าเงิน คุณต้อง สร้างรหัส API หรือ กำหนดค่า OAuth 2 สำหรับแอปของคุณ ตัวอย่างบนหน้านี้ใช้รหัส API
ตรวจสอบสิทธิเป็นเจ้าของไอเท็ม
หากคุณต้องการตรวจสอบว่าผู้ใช้มีรายการที่พวกเขาเป็นเจ้าของ (เช่น เหรียญตรา, บัตรผ่าน, ผ่านหรือเซิร์ฟเวอร์ส่วนตัว) ใช้ พารามิเตอร์ filter เพื่อตรวจสอบรายการที่มี ID หนึ่งหรื
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);
});
การตอบกลับนี้แสดงถึงว่าผู้ใช้เป็นเจ้าของหนึ่งในสามรายการ:
{
"inventoryItems": [
{
"path": "users/11111111111/inventory-items/VVNFUl9BU1NFVF9JRD0yMDAxMDUxMTkzODg",
"assetDetails": {
"assetId": "1028595",
"inventoryItemAssetType": "CLASSIC_TSHIRT",
"instanceId": "200105119388"
}
}
],
"nextPageToken": ""
}
การกรองรายการ
หากคุณต้องการแสดงเฉพาะสะสมที่ผู้ใช้เป็นเจ้าของเท่านั้นใช้เดียวกับรหัสเดียวกันที่อยู่ด้านบนเพียงด้วย filter ตัวแปรที่แตกต่างกัน
const params = '?filter=onlyCollectibles=true;inventoryItemAssetTypes=*';
ผสานและจับคู่ตัวกรองโดยใช้รายการแยกกับจุลภาค. นี่คือตัวอย่างบางส่วน:
filter=onlyCollectibles=true;inventoryItemAssetTypes=HAT,CLASSIC_PANTSfilter=badgeIds=111111,222222;gamePassIds=777777;privateServerIds=999999filter=gamePasses=true;badges=true
การโทรไปยัง API ส่วนใหญ่ไม่ต้องการใบอนุญาตเฉพาะ แต่หลายตัวกรองต้องการใบอนุญาตการอ่านสินค้าคงคลัง สำหรับข้อมูลเพิ่มเติม ดูที่ การกรอง
การชำระเงินผล
หากคำตอบมีค่าสำหรับ nextPageToken ให้ใช้ค่านั้นในตัวแปร pageToken ของคำขอต่อไปเพื่อดึงหน้าต่อไป สำหรับข้อมูลเพิ่มเติมดูที่ การจัดเลข
หากจำนวนผลลัพธ์สามารถแบ่งได้โดย maxPageSize (เช่นคุณมี 50 ผลลัพธ์และมี maxPageSize ของ 25) คุณสามารถพบสถานการณ์ที่คุณตอบสนองมีมูลค่าสำหรับ nextPageToken
GET /cloud/v2/users/{userId}/inventory-items?maxPageSize=25&pageToken=cccDDD
{
"inventoryItems": [],
"nextPageToken": ""
}
เมื่อใช้การจัดหน้าในแอปของคุณ การดำเนินการที่ดีที่สุดคือการตรวจสอบไม่เพียง แต่สำหรับ nextPageToken ที่ไม่เปล่า แต่ยังสำหรับ inventoryItems รายการอีกด้วย