我什至不知道从哪里开始,这可能是一个问题/要求范围太广的问题,如果是这样,请告诉我。
我正在尝试为《天命2》的战队创建排行榜,以显示各种游戏数据。 Bungie提供了一个API,可以在其中获取所有这些信息。我需要使用两个端点,第一个是
https://www.bungie.net/platform/GroupV2/MY_CLAN_ID/Members/
此终结点为我提供以下JSON响应:
{
"Response":{
"results":[
{
"memberType":1,
"isOnline":false,
"lastOnlineStatusChange":"1553343305",
"groupId":"CLANID",
"destinyUserInfo":{
"iconPath":"/img/theme/destiny/icons/icon_psn.png",
"membershipType":2,
"membershipId":"MEMBERSHIPID",
"displayName":"DISPLAYNAME"
},
"bungieNetUserInfo":{
"supplementalDisplayName":"TAGLINE",
"iconPath":"/img/profile/avatars/kat.gif",
"membershipType":TYPE,
"membershipId":"MEMBERSHIPID",
"displayName":"DISPLAYNAME"
},
"joinDate":"2018-07-03T13:56:25Z"
},
{
"REPEATED FOR NEXT CLAN MEMBER"
}
]
}
从bungieNetUserInfo中,我需要提取MembershipId和displayName并将其存储。然后,我需要使用URL对下一个GET请求使用MembershipID:
https://www.bungie.net/platform/Destiny2/2/Account/membershipId/Character/0/Stats/?modes=3,4,5,63,75,76
这使我得到了JSON响应:
{
"Response":{
"allPvP":{
"allTime":{
"activitiesEntered":{
"statId":"activitiesEntered",
"basic":{
"value":2654.0,
"displayValue":"2654"
}
},
REPEATED FOR NEXT STAT
}
},
REPEATED FOR NEXT ACTIVITY {
}
}
}
我需要从此响应中提取各种数据,然后将其与上述响应结合起来,如下所示:
{
"Response":{
"Clan Members":[
{
"displayName":"DISPLAYNAME",
"membershipId":"MEMBERSHIPID",
"stats": [
{
"allPvP" [
{
PVP STATS HERE
}
],
"allPvE" [
{
PVE STATS HERE
}
]
}
]
},
},
{
"REPEATED FOR NEXT CLAN MEMBER"
}
]
}
从那里,我可以根据需要将数据解析到我的页首横幅表中。就像我说的,我不确定应该从哪里开始做,对于这一切我还是很陌生的。我已经能够很好地处理网站其他区域中的单个响应,因为它们都来自一个端点(供应商库存轮换,每周活动周期等),但是将这两者结合起来让我感到很困惑。
我的最终目标是将这些数据保存在一个可以调用的单独的.json中,这样我就不会在每次页面加载时对API进行70次以上的每个成员统计请求。我每天可以运行一次以获取信息的脚本是理想的选择。