设置物品审核状态
Sets the moderation state for an item, including the concern category and string reason. More information about moderation states can be found here: https://learn.microsoft.com/en-us/gaming/playfab/features/economy-v2/ugc/moderation
Allowed entity token types: title
Error codes
This operation may return the following PlayFab errors:
| Error | Code |
|---|---|
| DatabaseThroughputExceeded | 1113 |
| ItemNotFound | 1047 |
POST
/
Catalog
/
SetItemModerationState
Set Item Moderation State
curl --request POST \
--url https://{titleId}.playfabapi.com/Catalog/SetItemModerationState \
--header 'Content-Type: application/json' \
--header 'X-EntityToken: <api-key>' \
--data '
{
"Status": "AwaitingModeration",
"Reason": "User reports over threshold",
"Id": "dddddddd-dddd-dddd-dddd-dddddddddddd"
}
'import requests
url = "https://{titleId}.playfabapi.com/Catalog/SetItemModerationState"
payload = {
"Status": "AwaitingModeration",
"Reason": "User reports over threshold",
"Id": "dddddddd-dddd-dddd-dddd-dddddddddddd"
}
headers = {
"X-EntityToken": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-EntityToken': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
Status: 'AwaitingModeration',
Reason: 'User reports over threshold',
Id: 'dddddddd-dddd-dddd-dddd-dddddddddddd'
})
};
fetch('https://{titleId}.playfabapi.com/Catalog/SetItemModerationState', 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/Catalog/SetItemModerationState",
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([
'Status' => 'AwaitingModeration',
'Reason' => 'User reports over threshold',
'Id' => 'dddddddd-dddd-dddd-dddd-dddddddddddd'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-EntityToken: <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/Catalog/SetItemModerationState"
payload := strings.NewReader("{\n \"Status\": \"AwaitingModeration\",\n \"Reason\": \"User reports over threshold\",\n \"Id\": \"dddddddd-dddd-dddd-dddd-dddddddddddd\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-EntityToken", "<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/Catalog/SetItemModerationState")
.header("X-EntityToken", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"Status\": \"AwaitingModeration\",\n \"Reason\": \"User reports over threshold\",\n \"Id\": \"dddddddd-dddd-dddd-dddd-dddddddddddd\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Catalog/SetItemModerationState")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-EntityToken"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"Status\": \"AwaitingModeration\",\n \"Reason\": \"User reports over threshold\",\n \"Id\": \"dddddddd-dddd-dddd-dddd-dddddddddddd\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"status": "OK",
"data": {}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}授权
This API requires an Entity Session Token, available from the Entity GetEntityToken method.
请求体
application/json
An alternate ID associated with this item.
Show child attributes
Show child attributes
The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).
The unique ID of the item.
The reason for the moderation state change for the associated item.
The status to set for the associated item.
可用选项:
Unknown, AwaitingModeration, Approved, Rejected 最后修改于 2026年10月6日
此页面对您有帮助吗?
⌘I
Set Item Moderation State
curl --request POST \
--url https://{titleId}.playfabapi.com/Catalog/SetItemModerationState \
--header 'Content-Type: application/json' \
--header 'X-EntityToken: <api-key>' \
--data '
{
"Status": "AwaitingModeration",
"Reason": "User reports over threshold",
"Id": "dddddddd-dddd-dddd-dddd-dddddddddddd"
}
'import requests
url = "https://{titleId}.playfabapi.com/Catalog/SetItemModerationState"
payload = {
"Status": "AwaitingModeration",
"Reason": "User reports over threshold",
"Id": "dddddddd-dddd-dddd-dddd-dddddddddddd"
}
headers = {
"X-EntityToken": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-EntityToken': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
Status: 'AwaitingModeration',
Reason: 'User reports over threshold',
Id: 'dddddddd-dddd-dddd-dddd-dddddddddddd'
})
};
fetch('https://{titleId}.playfabapi.com/Catalog/SetItemModerationState', 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/Catalog/SetItemModerationState",
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([
'Status' => 'AwaitingModeration',
'Reason' => 'User reports over threshold',
'Id' => 'dddddddd-dddd-dddd-dddd-dddddddddddd'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-EntityToken: <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/Catalog/SetItemModerationState"
payload := strings.NewReader("{\n \"Status\": \"AwaitingModeration\",\n \"Reason\": \"User reports over threshold\",\n \"Id\": \"dddddddd-dddd-dddd-dddd-dddddddddddd\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-EntityToken", "<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/Catalog/SetItemModerationState")
.header("X-EntityToken", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"Status\": \"AwaitingModeration\",\n \"Reason\": \"User reports over threshold\",\n \"Id\": \"dddddddd-dddd-dddd-dddd-dddddddddddd\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Catalog/SetItemModerationState")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-EntityToken"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"Status\": \"AwaitingModeration\",\n \"Reason\": \"User reports over threshold\",\n \"Id\": \"dddddddd-dddd-dddd-dddd-dddddddddddd\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"status": "OK",
"data": {}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}