我正在编写一个脚本来检索osu! beatmap中的分数。该脚本使用osu! API,可以找到here。我已经获得了有效的API密钥,并从网站上获取了信息。我的项目可以在这里找到:failosu!。
此脚本由AJAX调用,变量s通过POST传递。
我的问题在于返回的数组。
在下面的代码片段中(不是真的,它几乎是我的整个脚本),我首先请求beatmap信息。在这样做时,我将一个变量s(beatmap set ID)传递给服务器,并尝试获取变量b(beatmap ID)。
但是,每当我调用$d1['beatmap_id']
时,它都不会向主页返回任何内容。相反,我的AJAX脚本运行错误函数而不是成功函数。有谁知道我的问题是什么?
if($_POST['id']) {
$s = $_POST['id'];
$k = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$u0 = "https://osu.ppy.sh/api/get_beatmaps?k=".$k."&s=".$s;
$d0 = json_decode(file_get_contents($u0));
$d1 = get_object_vars($d0[0]);
$b = $d1["beatmap_id"];
// THE CODE STOPS WORKING HERE FOR SOME REASON ????
$u = "https://osu.ppy.sh/api/get_scores?k=".$k."&b=".$b."&m=0";
echo $u;
$d = json_decode(file_get_contents($u));
for($i=0;$i<count($d);$i++) {
echo "<li>".$i." ".$d[$i]['username']."</li>";
}
}
有谁知道什么是错的?您是否需要我告诉您有关我的代码的更多信息?