publisherQuery 僅支援來自合作夥伴服務的呼叫。
publisherQuery (Collections Query v9) 的更新與改進
publisherQuery 是最新的 Collections Query API (v9)。 如果是從 b2bLicensePreview (v8) 移轉,請檢閱本節以了解行為差異。 相較於 b2bLicensePreview,publisherQuery 有下列變更與改進:- 能夠查詢使用者的 XBOX Game Pass 訂閱狀態
- 需要預先定義要傳回的產品清單。 這是最佳做法,但在 v8 b2bLicensePreview 中並非必要。 未遵循此最佳做法的遊戲經常在發行後發生問題,要求會因為根據其查詢參數的內容範圍過大而逾時。 這會導致使用者無法取得遊戲內點數,直到遊戲的服務更新為在查詢要求中指定所需的 ProductId 為止。
- 簡化回應資料欄位,移除未使用或不必要的值
- 根據開發人員的意見反應簡化要求參數
- Market - 在 publisherQuery 中,所有要求都具有所有區域的內容
- ExpandSatisfyingItems - 在 publisherQuery 中,所有結果都會展開滿足權利
- EntitlementsFilter - 不再使用,因為查詢需要預先定義的 productIds 清單
publisherQuery 不支援 LegacyProductIds (從已淘汰的 XBOX Developer Portal 產生,並在 XBOX Inventory 服務中作為 ProductId 使用的 ProductIds)。
必要條件
請檢閱服務對服務 API 的必要條件。 此 API 同時支援 Microsoft Entra ID 和委派驗證 X-token 驗證類型。 如果產品設定未在 Partner Center 中發佈,呼叫可能會成功,但不會傳回任何結果。要求
要求語法
要求標頭
要求本文
ProductSkuId 物件包含下列參數。
要求範例
v9 publisherQuery API 每個要求最多支援 100 個 productSkuIds。如果在 productSkuIds 中提供超過 100 個 productId,API 會傳回 HTTP 400 錯誤。
預設的
maxPageSize 為 100,但範例中使用較小的值,以示範如何要求其餘項目。回應
回應本文
PublisherQueryItemContractV9 物件包含下列參數。
TrialInformation 物件包含下表所示的參數。
產品類型值與意義
產品狀態值與意義
產品 acquisitionType 值與意義
了解 satisfiedByProductIds 欄位中滿足權利的結果
如果 satisfiedByProductIds 陣列是空的,表示使用者透過直接購買而擁有該項目的直接權利。
否則,如果 satisfiedByProductIds 陣列有一或多個 ProductId,表示使用者是透過這些產品 (套件組合、訂閱等) 取得該項目的權利。
如果使用者同時擁有某個項目的直接權利和滿足權利,且要求中的 excludeDuplicates 為 True,則直接權利會優先,且 satisfiedByProductIds 會是空的。
回應範例
使用接續權杖要求其餘結果
如果您的查詢結果多於單一回應所能傳回的數量 (由 maxPageSize 控制),您的初始查詢回應中會有 continuationToken。 接著,您可以將接續權杖新增至先前要求本文的複本,在後續要求中使用此 continuationToken。 接續要求範例:即使您指定了 excludeDuplicates 旗標,使用接續權杖時,仍可能取得狀態不同的權利項目。因此,請驗證結果中是否有重複的項目,以及其狀態是否不是 Active。
