4

我想向 Xbox Live Restful API 的个人资料 URI 和人员 URI 发送请求。我无法理解这两个接口的授权部分。

我使用以下命令将请求发送到POST (/users/batch/profile/settings)

curl -X POST \
  https://profile.xboxlive.com/users/batch/profile/settings \
  -H 'Signature: xxxx' \
  -H 'Authorization: XBL3.0 x=xxxx' \
  -H 'Content-Type: application/json' \
  -H 'x-xbl-contract-version: 2' \
  -d '{
    "userIds": [
        "xxxx"
    ],
    "settings": [
        "AppDisplayName",
        "GameDisplayName",
        "Gametag",
        "AppDisplayPicRaw",
        "GameDisplayPicRaw",
        "AccountTier",
        "TenureLevel",
        "Gamescore"
    ]   
}'

Xbox Live Restful API 返回 403。

我使用以下命令将请求发送到GET (/users/{ownerId}/people)

curl -X GET \
  'https://social.xboxlive.com/users/xuid(xxxx)/people' \
  -H 'Signature: xxxx' \
  -H 'Authorization: XBL3.0 x=xxxx'

它也返回 403。

是否有一些演示来展示如何调用 Xbox Live Restful API?

经过一番搜索,我们应该在请求的标头中传递SignatureAuthorization。我们可以从Signature和中编码的声明和 XUID 中获取,但它仍然返回 403。AuthorizationGetTokenAndSignatureAsyncAuthorization

4

1 回答 1

2

我已经按照authenticateofxbox-webapi-python来获取Authorizationheader(XBL3.0 x=<uhs>,<xsts>)。只需将Authorization每个 Xbox Live API 请求添加到其他必需的标头旁边,您就可以获得正确的响应。

的值Authorization也可以得到getTokenAndSignatureAsync。此值适用于所有 Xbox API 端点。

于 2018-08-31T08:37:36.367 回答