> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# POST (/users/xuid(xuid)/lists/PINS/{listname})

> POST (/users/xuid(xuid)/lists/PINS/{listname})

# POST (/users/xuid(xuid)/lists/PINS/{listname})

依據查詢字串參數 **insertIndex** 將項目插入清單中的索引位置。
這些 URI 的網域是 `eplists.xboxlive.com`。

* [備註](#ID4EY)
* [URI 參數](#ID4ETB)
* [查詢字串參數](#ID4E5B)
* [授權](#ID4EZC)
* [HTTP 狀態碼](#ID4EGD)
* [必要的要求標頭](#ID4EEAAC)
* [範例要求](#ID4E1BAC)
* [回應本文](#ID4EPCAC)

<a id="ID4EY" />

## 備註

此呼叫會依據查詢字串參數 **insertIndex** (預設為 0，即清單的開頭) 將項目插入清單中的索引位置。要求本文中的所有項目都會插入清單中的該位置。如果 **insertIndex** 大於現有清單中的項目數，新項目會插入結尾。

要插入的項目必須具有功能規格中指出的必要欄位；否則會傳回 HTTP 400。同樣地，如果插入的結果會超過清單的大小上限 (依清單類型定義)，則會傳回 HTTP 400，且不會插入任何項目。

如果項目*不是*要插入清單的開頭或結尾，則要求中必須包含 **If-Match:versionNumber** 標頭。如果是插入開頭或結尾，則此標頭為選用。如果存在此標頭，無論插入位置為何，都會進行驗證。在標頭中，**VersionNumber** 是清單目前的版本號碼。如果未包含此標頭且為必要，或與清單目前的版本號碼不符，則會傳回 HTTP 412 (前置條件失敗) 狀態碼，且回應本文會包含清單的最新中繼資料，其中包括目前的版本號碼。這是為了防止來自不同用戶端的更新互相覆蓋。

請注意，此呼叫不具等冪性；以相同資料重複呼叫可能會導致多次插入。不過，由於目前沒有任何清單支援重複項目，重複呼叫很可能會導致傳回 HTTP 400 代碼。

<a id="ID4ETB" />

## URI 參數

| 參數 | 類型 | 描述 |
| - | - | - |
| xuid | 字串 | XBOX 使用者識別碼 (XUID)。 |
| listtype | 字串 | 清單的類型 (其使用方式和運作方式)。對於這些相關方法，一律為 "PINS"。 |
| listname | 字串 | 清單的名稱 (要對指定 listtype 的哪個清單執行動作)。對於 Pins 中的項目，一律為 "XBLPins"。 |

<a id="ID4E5B" />

## 查詢字串參數

\| 參數| 類型| 描述|
\| --- | --- | --- | --- | --- | --- |
\| insertIndex| 字串| 選用。定義要插入項目的位置。支援的值：0、正整數和 "end"。任何大於清單項目數的索引值都會將新項目新增至清單底部，且不會在清單中插入「空白」空間。預設值：0。|

<a id="ID4EZC" />

## 授權

此呼叫預期 **Authorization** 標頭中有 XSTS SAML 權杖。該 SAML 權杖中必須存在 Xuid 宣告，以識別呼叫端。此值用於判斷呼叫端是否具有相關清單資料的存取權限。清單本身也會以 Xuid 識別，並包含在清單的 URI 中。藉此，我們未來可能會支援清單的共用存取，但目前尚未提供此功能。目前，使用者存取的所有清單都是使用者自己的清單，沒有共用存取。因此，URI 中的 Xuid 必須與 SAML 宣告權杖中的 Xuid 相符。

> **注意：**\
> 目前同時支援 XBL Auth 2.0 和 3.0 權杖。

<a id="ID4EGD" />

## HTTP 狀態碼

服務會傳回本節中的其中一個狀態碼，以回應在此資源上使用此方法所提出的要求。如需 XBOX Live 服務所使用之標準 HTTP 狀態碼的完整清單，請參閱[標準 HTTP 狀態碼](/zh-TW/reference/live/rest/additional/httpstatuscodes)。

\| 代碼| 原因片語| 描述|
\| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
\| 200| OK| 要求已成功完成。回應本文應包含所要求的資源 (適用於 GET)。POST 和 PUT 要求會收到最新的清單中繼資料 (清單版本、計數等)。|
\| 201| Created| 已建立新清單。這會在首次插入清單時傳回。回應包含清單的最新中繼資料，且 location 標頭包含清單的 URI。|
\| 304| Not Modified| 在 GET 時傳回。表示用戶端擁有最新版本的清單。服務會將 <b>If-Match</b> 標頭中的值與清單版本進行比較。如果兩者相等，則會傳回 304 且不含任何資料。|
\| 400| Bad Request| 要求格式不正確。可能是 URI 或查詢字串參數的值或類型無效。也可能是缺少必要參數或資料值，或要求指出的 API 版本遺失或無效所致。請參閱 <b>X-XBL-Contract-Version</b> 標頭。|
\| 401| Unauthorized| 要求需要使用者驗證。|
\| 403| Forbidden| 不允許使用者或服務提出此要求。|
\| 404| Not Found| 呼叫端沒有該資源的存取權。這表示尚未建立此類清單。|
\| 412| Precondition Failed| 表示清單的版本已變更，且修改要求已失敗。修改要求是指插入、更新或移除。服務會檢查 <b>If-Match</b> 標頭中的清單版本。如果與清單目前的版本不符，則作業會失敗，並傳回此代碼及目前的清單中繼資料 (其中包括目前的版本)。|
\| 500| Internal Server Error| 由於伺服器端錯誤，服務拒絕了此要求。|
\| 501| Not Implemented| 呼叫端要求了伺服器上尚未實作的 URI。(目前僅在針對未列入允許清單的清單名稱提出要求時使用。)|
\| 503| Service Unavailable| 伺服器拒絕了此要求，通常是因為負載過重。經過一段延遲之後 (請參閱 <b>Retry-after</b> 標頭)，即可重試要求。|

<a id="ID4EEAAC" />

## 必要的要求標頭

\| 標頭| 描述|
\| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
\| Authorization| 包含用於驗證和授權要求的 STS 權杖。必須是來自 XSTS 服務的權杖，且必須將 XUID 包含為其中一個宣告。 |
\| X-XBL-Contract-Version| 指定所要求的 API 版本 (正整數)。Pins 支援版本 2。如果缺少此標頭或其值不受支援，服務會傳回 400 - Bad request，並在狀態描述中附上 "Unsupported or missing contract version header"。|
\| Content-Type| 指定要求/回應本文的內容是 json 還是 xml。支援的值為 "application/json" 和 "application/xml"|
\| If-Match| 提出修改要求時，此標頭必須包含清單目前的版本號碼。修改要求使用 PUT、POST 或 DELETE 動詞。如果 "If-Match" 標頭中的版本與清單目前的版本不符，要求將遭到拒絕，並傳回 HTTP 412 - 前置條件失敗代碼。(選用) 也可用於 GET，如果存在此標頭且傳入的版本與清單目前的版本相符，則不會傳回任何清單資料，並會傳回 HTTP 304 - Not Modified 代碼。 |

<a id="ID4E1BAC" />

## 範例要求

**ContentType**、**ItemId** 或 **ProviderId**、**Provider** 和 **Locale** 為必要項目。

```cpp theme={null}
{"Items":
  [{
    "ContentType": "Movie",
    "ItemId": "3a5095a5-eac3-4215-944d-27bc051faa47",
    "ProviderId": "",
    "Provider": "",
    "ImageUrl": "http://www.bing.com/thumb/get?bid=Gw%2fsjCGSS4kAAQ584x800&bn=SANGAM&fbid=7wIR63+Clmj+0A&fbn=CC", 
    "AltImageUrl": null, 
    "Title": "The Dark Knight", 
    "SubTitle": null, 
    "Locale": "en-us",
    "DeviceType": "XboxOne"
  }]}
      
```

<a id="ID4EPCAC" />

## 回應本文

<a id="ID4EVCAC" />

### 範例回應

```cpp theme={null}
{
  "ListVersion":  1,
  "ListCount":  1,
  "MaxListSize": 200,
  "AllowDuplicates": "true",
  "AccessSetting":  "OwnerOnly"
} 
         
```

<a id="ID4E6CAC" />

## 另請參閱

<a id="ID4EBDAC" />

##### 上層

[/users/xuid(xuid)/lists/PINS/{listname}](/zh-TW/reference/live/rest/uri/lists/uri-usersxuidlistspinslistname)


## Related topics

- [XblSocialSubmitReputationFeedbackAsync](/es/reference/live/xsapi-c/social_c/functions/xblsocialsubmitreputationfeedbackasync.md)
- [XblAchievementsUpdateAchievementAsync](/reference/live/xsapi-c/achievements_c/functions/xblachievementsupdateachievementasync.md)
- [XblAchievementsUpdateAchievementForTitleIdAsync](/reference/live/xsapi-c/achievements_c/functions/xblachievementsupdateachievementfortitleidasync.md)
- [XblAchievementsManagerUpdateAchievement](/reference/live/xsapi-c/achievements_manager_c/functions/xblachievementsmanagerupdateachievement.md)
