Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-FortniteAPI show me“;无效的身份验证凭据;?_Php_Api - Fatal编程技术网

PHP-FortniteAPI show me“;无效的身份验证凭据;?

PHP-FortniteAPI show me“;无效的身份验证凭据;?,php,api,Php,Api,我想制作一个小的FortniteAPI,但我总是在JSON文件中得到一个错误 {"message":"Invalid authentication credentials"} 我的PHP代码: $ch = curl_init(); //pc, xbl, psn curl_setopt($ch, CURLOPT_URL, "https://api.fortnitetracker.com/v1/profile/pc/MyName"); curl_setopt($ch, CURLOPT_RETURN

我想制作一个小的FortniteAPI,但我总是在JSON文件中得到一个错误

{"message":"Invalid authentication credentials"}
我的PHP代码:
$ch = curl_init();
//pc, xbl, psn
curl_setopt($ch, CURLOPT_URL, "https://api.fortnitetracker.com/v1/profile/pc/MyName");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'TRN-Api-Key: My-API-Code'
));
curl_setopt($ch, CURLOPT_VERBOSE, 1);
$response = curl_exec($ch);
curl_close($ch);
var_dump($response);
$fp = fopen("myStats.json", "w");
fwrite($fp, $response);
fclose($fp);

$data = json_decode(file_get_contents("myStats.json"));
$solo = $data->stats->p2;//solos data
$duos = $data->stats->p10;//duos data
$squads = $data->stats->p9;//squads data

$matches = $data->recentMatches;//match data
$sesh1 = $matches[0]->id->valueInt;

$solo_wins = $solo->top1->valueInt;
$duos_wins = $duos->top1->valueInt;
$squads_wins = $squads->top1->valueInt;
$solo_matches = $solo->matches->valueInt;
$duos_matches = $duos->matches->valueInt;
$squads_matches = $squads->matches->valueInt;
$solo_kd = $solo->kd->valueDec;
$duos_kd = $duos->kd->valueDec;
$squads_kd = $squads->kd->valueDec;
$solo_games = $solo->matches->valueInt;
$duos_games = $duos->matches->valueInt;
$squads_games = $squads->matches->valueInt;
$solo_kills = $solo->kills->valueInt;
$duos_kills = $duos->kills->valueInt;
$squads_kills = $squads->kills->valueInt;

$total_matches = ($solo_matches+$duos_matches+$squads_matches);

$total_wins = ($solo_wins+$duos_wins+$squads_wins);

$total_kills = ($solo_kills+$duos_kills+$squads_kills);

$total_kd = (round($total_kills/($total_matches-$total_wins),2));

echo 'Total Matches: '.$total_matches.'<br>';
echo 'Total Wins: '.$total_wins.'<br>';
echo 'Total Kills: '.$total_kills.'<br>';
echo 'Total KD: '.$total_kd.'<br>';
echo $sesh1;

?>
$ch=curl_init();
//pc、xbl、psn
curl_setopt($ch,CURLOPT_URL,”https://api.fortnitetracker.com/v1/profile/pc/MyName");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
curl_setopt($ch,CURLOPT_头,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_HTTPHEADER,数组(
'TRN Api密钥:我的Api代码'
));
curl_setopt($ch,CURLOPT_VERBOSE,1);
$response=curl\u exec($ch);
卷曲关闭($ch);
var_dump($response);
$fp=fopen(“myStats.json”,“w”);
fwrite($fp,$response);
fclose($fp);
$data=json_decode(文件获取内容(“myStats.json”);
$solo=$data->stats->p2//独奏数据
$duos=$data->stats->p10//duos数据
$squads=$data->stats->p9//小队数据
$matches=$data->recentMatches//匹配数据
$sesh1=$matches[0]->id->valueInt;
$solo_wins=$solo->top1->valueInt;
$duos_wins=$duos->top1->valueInt;
$squads\u wins=$squads->top1->valueInt;
$solo_matches=$solo->matches->valueInt;
$duos_matches=$duos->matches->valueInt;
$squads\u matches=$squads->matches->valueInt;
$solo_kd=$solo->kd->valueDec;
$duos_kd=$duos->kd->valueDec;
$squads\u kd=$squads->kd->valueDec;
$solo_games=$solo->matches->valueInt;
$duos_games=$duos->matches->valueInt;
$squads\u games=$squads->matches->valueInt;
$solo_kills=$solo->kills->valueInt;
$duos_kills=$duos->kills->valueInt;
$squads\u kills=$squads->kills->valueInt;
$total_matches=($solo_matches+$duos_matches+$squads_matches);
$total_wins=($solo_wins+$duos_wins+$SHUADS_wins);
$total_kills=($solo_kills+$duos_kills+$squads_kills);
$total_kd=(回合($total_kills/($total_matches-$total_wins),2);
回显“总匹配数:”.$Total_匹配数。“
”; 回显“总赢数:”.$Total_赢数。“
”; 回显“总杀死数:”.$Total_Kills.
; 回显“总KD:”.$Total_KD.“
”; echo$sesh1; ?>

我输入了正确的API代码。为什么这个消息写在JSON文件中而不是我的wins文件中?这太疯狂了,因为它应该能工作。

第11行返回什么?您正在使用
var\u dump($response)
你能写
die()吗在该行下,并向我们提供它给出的回报


处理标题的方式可能有问题。我现在不能确定,因为我不在家。但是我以后可能会对此进行测试。

如果您通过另一个工具(如邮递员)提出相同的请求,是否有效?您可以使用类似Fiddler的工具来检查由此类工具和代码生成的HTTP请求,并检查是否存在任何差异。您还可以使用它来检查您的请求的结构是否符合FortniteAPI文档中给出的指导。有两种可能-要么您的凭据无效,要么您的请求结构不正确,因此Fortnite无法理解。我们不可能就第一点向你方提出建议。第二,您需要对照您的代码生成的内容检查文档。如果您为我们提供一个指向您尝试使用的方法的文档的链接,我们可以通过检查您编写的内容是否可能导致有效的请求来提供帮助。@ADyson但这不符合SO格式,他应该自己做,然后尝试改变它。否则,问题可能被标记为“询问教程或资源”。告诉别人他不能阅读文档和他的实现是没有意义的wrong@TheLaw这与格式有什么不同??没有人要求提供非现场教程或其他资源。我要求提供有助于人们理解和/或再现问题的信息。如果不知道API的规范,就不可能知道请求的编写是否正确。我们需要开始将问题从我概述的两种可能性缩小到一种可能性。我并没有告诉任何人实现是错误的,我只是要求提供足够的信息来验证是否是这样。嘿,伙计们,我的英语很差,但我没有到Fortnite API文档的链接,因为它不存在。我主要是独自编写这段代码的,它应该可以工作。我在谷歌上搜索了好几个小时,但没有发现什么有用的东西。Fortnite的支持根本帮不了我。表示“我们不提供任何支持或编程支持。请不要联系我们寻求帮助。”。。。请帮助我:(向我显示相同的错误。他在“die();”上停止,并向我显示“{”消息“:“无效的身份验证凭据”}”。当我在“die();”中放置“$response”时,他向我显示2倍相同的错误并停止。