取用 Xbox 權利
Grants the player’s current entitlements from Xbox Live, consuming all availble items in Xbox and granting them to the player’s PlayFab inventory. This call is idempotent and will not grant previously granted items to the player.
Error codes
This operation may return the following PlayFab errors:
| Error | Code |
|---|---|
| ExpiredXboxLiveToken | 1189 |
| InvalidXboxLiveToken | 1188 |
| ProductDisabledForTitle | 1609 |
| XboxInaccessible | 1339 |
| XboxRejectedXSTSExchangeRequest | 1343 |
| XboxServiceTooManyRequests | 1505 |
| XboxXASSExchangeFailure | 1306 |
POST
/
Client
/
ConsumeXboxEntitlements
Consume Xbox Entitlements
curl --request POST \
--url https://{titleId}.playfabapi.com/Client/ConsumeXboxEntitlements \
--header 'Content-Type: application/json' \
--header 'X-Authorization: <api-key>' \
--data '
{
"XboxToken": "XBL3.0 x=1981989841;akljdlkafdknad",
"CatalogVersion": "XboxItems"
}
'import requests
url = "https://{titleId}.playfabapi.com/Client/ConsumeXboxEntitlements"
payload = {
"XboxToken": "XBL3.0 x=1981989841;akljdlkafdknad",
"CatalogVersion": "XboxItems"
}
headers = {
"X-Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Authorization': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({XboxToken: 'XBL3.0 x=1981989841;akljdlkafdknad', CatalogVersion: 'XboxItems'})
};
fetch('https://{titleId}.playfabapi.com/Client/ConsumeXboxEntitlements', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{titleId}.playfabapi.com/Client/ConsumeXboxEntitlements",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'XboxToken' => 'XBL3.0 x=1981989841;akljdlkafdknad',
'CatalogVersion' => 'XboxItems'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{titleId}.playfabapi.com/Client/ConsumeXboxEntitlements"
payload := strings.NewReader("{\n \"XboxToken\": \"XBL3.0 x=1981989841;akljdlkafdknad\",\n \"CatalogVersion\": \"XboxItems\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{titleId}.playfabapi.com/Client/ConsumeXboxEntitlements")
.header("X-Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"XboxToken\": \"XBL3.0 x=1981989841;akljdlkafdknad\",\n \"CatalogVersion\": \"XboxItems\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Client/ConsumeXboxEntitlements")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"XboxToken\": \"XBL3.0 x=1981989841;akljdlkafdknad\",\n \"CatalogVersion\": \"XboxItems\"\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"status": "<string>",
"data": {
"Items": [
{
"ItemId": "shield_level_5",
"ItemInstanceId": "133713371337",
"ItemClass": "shields",
"PurchaseDate": "2017-03-07T00:00:00",
"Expiration": "2018-10-01T00:00:00",
"RemainingUses": 10,
"Annotation": "No Annotation",
"CatalogVersion": "5",
"BundleParent": "crate block 1"
}
]
}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}授權
This API requires a client session ticket, available from any Client Login function.
主體
application/json
Token provided by the Xbox Live SDK/XDK method GetTokenAndSignatureAsync("POST", "https://playfabapi.com/", "").
Catalog version to use
The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
最後修改於 2026年10月6日
這個頁面有幫助嗎?
⌘I
Consume Xbox Entitlements
curl --request POST \
--url https://{titleId}.playfabapi.com/Client/ConsumeXboxEntitlements \
--header 'Content-Type: application/json' \
--header 'X-Authorization: <api-key>' \
--data '
{
"XboxToken": "XBL3.0 x=1981989841;akljdlkafdknad",
"CatalogVersion": "XboxItems"
}
'import requests
url = "https://{titleId}.playfabapi.com/Client/ConsumeXboxEntitlements"
payload = {
"XboxToken": "XBL3.0 x=1981989841;akljdlkafdknad",
"CatalogVersion": "XboxItems"
}
headers = {
"X-Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Authorization': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({XboxToken: 'XBL3.0 x=1981989841;akljdlkafdknad', CatalogVersion: 'XboxItems'})
};
fetch('https://{titleId}.playfabapi.com/Client/ConsumeXboxEntitlements', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{titleId}.playfabapi.com/Client/ConsumeXboxEntitlements",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'XboxToken' => 'XBL3.0 x=1981989841;akljdlkafdknad',
'CatalogVersion' => 'XboxItems'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{titleId}.playfabapi.com/Client/ConsumeXboxEntitlements"
payload := strings.NewReader("{\n \"XboxToken\": \"XBL3.0 x=1981989841;akljdlkafdknad\",\n \"CatalogVersion\": \"XboxItems\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{titleId}.playfabapi.com/Client/ConsumeXboxEntitlements")
.header("X-Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"XboxToken\": \"XBL3.0 x=1981989841;akljdlkafdknad\",\n \"CatalogVersion\": \"XboxItems\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Client/ConsumeXboxEntitlements")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"XboxToken\": \"XBL3.0 x=1981989841;akljdlkafdknad\",\n \"CatalogVersion\": \"XboxItems\"\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"status": "<string>",
"data": {
"Items": [
{
"ItemId": "shield_level_5",
"ItemInstanceId": "133713371337",
"ItemClass": "shields",
"PurchaseDate": "2017-03-07T00:00:00",
"Expiration": "2018-10-01T00:00:00",
"RemainingUses": 10,
"Annotation": "No Annotation",
"CatalogVersion": "5",
"BundleParent": "crate block 1"
}
]
}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}