Skip to main content
publisherQuery 可讓您自己的服務查詢使用者的產品和權利,包括其 XBOX Game Pass 訂閱狀態。 您的服務不應定期輪詢使用者購買,以避免觸發以每位使用者時間範圍為基礎的呼叫速率限制。 目前的限制是同一使用者在五分鐘內最多 100 個查詢要求。 觸發速率限制會產生 429 HTTP 回應,其中包含可以提出下一個要求之時間的資訊。 結果只包含您的服務所代表之使用者帳戶直接擁有或具有權利的產品。 可能出現在用戶端上的共用權利不會傳回。請參閱遊戲的產品共用模型。 如需查詢使用者 Game Pass 訂閱狀態的特定資訊,請參閱從您的服務偵測 XBOX Game Pass 訂閱存取權。
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)。
如果要從 XBOX Inventory 移轉您的服務,您需要在自己的服務中,於內部將 StoreId (來自 Collections 的 ProductId 值) 對應至相符的 LegacyProductId。 否則,您可以參考 v8 b2bLicensePreview,它會同時傳回 StoreId 和 LegacyProductIds。
如需詳細資訊,請參閱對應的文章選取符合您需求的正確 Collections 查詢 API

必要條件

請檢閱服務對服務 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。

另請參閱

從您的服務管理產品 使用 Microsoft Store API 驗證您的服務 從您的服務管理消耗性產品
Last modified on October 6, 2026