非官方xbox api中的401授权错误

时间:2016-03-12 06:57:47

标签: php api curl xbox-one

您好我使用非官方的x-box one api通过x-box真实账户发送消息。这是我的代码示例和错误(问题)。

代码:

<?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无效并收到如下错误代码。

错误:

{&#34;成功&#34;:false,&#34; error_code&#34;:401,&#34; error_message&#34;:&#34;需要重新登录才能从中获取新令牌微软&#34;}

注意:

一旦我登录我的x-box一个api开发者帐户,api就会运行。我也尝试先进行卷曲身份验证,但我不知道卷毛身份验证后是否可能?如果可以通过首次卷曲认证,所以请尽快帮助我解决这个问题。非常感谢提前。

1 个答案:

答案 0 :(得分:1)

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

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

要执行此操作,请转到profile page on the Xbox API site,然后单击左下角的“登录到Xbox LIVE”。

输入您的帐户凭据并按“登录到Xbox LIVE”,或单击“使用oAuth登录到Xbox LIVE”,它将指示您登录Xbox站点。这两种方法基本上都应该做同样的事情,因为网站说它从不存储或记录你的密码,但如果你是偏执狂,请使用oAuth选项。