非官方 Xbox API 中的 401 授权错误


401 Authorization Error in unofficial xbox api

您好,我正在使用非官方的 X-box One API 通过 X-box Live 帐户发送消息。这是我的代码示例和错误(问题)。

法典:

<?php
     $arr = array('to' => array("gamoneybcn"), 'message' => "This is an Test Test example message sent via XboxAPI.");
     $post = json_encode($arr);
     $proServiceUrl = "https://xboxapi.com/v2/messages/";
     $contentsType = 'application/json';          
     $methods = 'POST';                   
     $auths = 'X-AUTH: XXXX';
     $profilesCurl = curl_init();
     curl_setopt($profilesCurl, CURLOPT_URL, $proServiceUrl);
     curl_setopt($profilesCurl, CURLOPT_RETURNTRANSFER, true);
     curl_setopt($profilesCurl, CURLOPT_POSTFIELDS, $post);
     curl_setopt($profilesCurl, CURLINFO_HEADER_OUT, true);
     curl_setopt($profilesCurl, CURLOPT_HTTPHEADER, Array('Content-type:'.$contentsType.';auth='.$auths));
     curl_setopt($profilesCurl, CURLOPT_HTTPHEADER, Array($auths));
     $profilesJson = curl_exec($profilesCurl);
     echo "<pre>";
     print_r($profilesJson);
     exit;
 ?>

问题:

如果我没有登录我的 x-box 一个非官方开发人员帐户,我的 API 无法正常工作并收到如下错误代码。

错误:

{"成功":假,"error_code":401,"error_message":"需要重新登录才能从Microsoft获取新令牌"}。

注意:

一旦我登录我的 X-box One API 开发人员帐户,API 就会运行。我也尝试先进行 curl 身份验证,但我不知道在 curl 身份验证后是否可以? 如果可以通过进行第一次 curl 身份验证,请帮助我尽快解决这个问题。

我刚刚遇到了同样的问题,这是我的第一个搜索结果。

当您最初将 Xbox API 帐户与Microsoft帐户相关联时,Xbox API 仅存储帐户电子邮件和 oAuth 令牌,而不是保存您的密码。此令牌仅在有限的时间段内有效,因此您需要定期通过 Xbox API 网站登录到您的Microsoft帐户,以便为其生成新的 oAuth 令牌。

为此,请转到 Xbox API 网站上的个人资料页面,然后单击左下角的"登录到 Xbox LIVE"。

輸入您的帐户凭据並按"登入 Xbox LIVE",或按「使用 oAuth 登入 Xbox LIVE」,它將指示您登入 Xbox 網站。这两种方法基本上都应该做同样的事情,因为该网站说它从不存储或记录您的密码,但如果你偏执,请使用 oAuth 选项。