Bungie-net / api

Resources for the Bungie.net API
Other
1.22k stars 92 forks source link

Request for Comment: PGCR removal of Bungie.net membership info #1176

Closed vthornheart-bng closed 3 years ago

vthornheart-bng commented 4 years ago

As those of you scraping PGCRs probably know, PGCRs have been having a rough time lately. They've gone through phases over the years of holding on, and times where we have been unable to serve all the incoming PGCR requests.

We are looking to do some optimizations in the new year that should hopefully help the situation, but one of them involves a potentially breaking change to remove data that I'm hoping people generally don't need or could grab and store off in other ways if they do need it. But I'd like your input.

I am looking to remove the entries.player.bungieNetUserInfo property.

Destiny membership data (entries.player.destinyUserInfo and other properties found in the DestinyPlayer object) would still be returned, but you wouldn't automatically get the associated bungie.net Membership anymore. My hope is that, for most scraper sites, you either don't need their bungie.net relationship or are already tracking those relationships separately.

If you are dependent on this data, there's a workaround you could employ. When you see an unrecognized Destiny membership ID, you could make a call to an endpoint like GetMembershipDataById to get the associated BNet membership, and then store that in your own system so that you don't have to make a second call from there on out for that membership.

Let me know what you all think: if you're using this data, if the workaround mentioned would work for you, or if your site could live without this data (for instance, if you were using it but for a trivial feature that you wouldn't mind removing).

Thank you! Removing this data is an important step in trying to provide more consistent PGCR access. Hopefully it will bear good fruit, and won't cause too much of an inconvenience for those of you using the PGCR endpoint.

TorKallon commented 4 years ago

This wouldn't be an issue at all for Charlemagne. We do use that info, but we already have it for existing users and can easily make an extra call when we see someone new.

On Tue, Dec 17, 2019 at 12:56 PM Vendal Thornheart notifications@github.com wrote:

As those of you scraping PGCRs probably know, PGCRs have been having a rough time lately. They've gone through phases over the years of holding on, and requiring excessive amounts of computation power than we can't provide in order to serve all the requests.

We are looking to do some optimizations in the new year that should hopefully help the situation, but one of them involves a potentially breaking change to remove data that I'm hoping people generally don't need or could grab and store off in other ways if they do need it. But I'd like your input.

I am looking to remove the entries.player.bungieNetUserInfo property.

Destiny membership data (entries.player.destinyUserInfo and other properties found in the DestinyPlayer object) would still be returned, but you wouldn't automatically get the associated bungie.net Membership anymore. My hope is that, for most scraper sites, you either don't need their bungie.net relationship or are already tracking those relationships separately.

If you are dependent on this data, there's a workaround you could employ. When you see an unrecognized Destiny membership ID, you could make a call to an endpoint like GetMembershipDataById to get the associated BNet membership, and then store that in your own system so that you don't have to make a second call from there on out for that membership.

Let me know what you all think: if you're using this data, if the workaround mentioned would work for you, or if your site could live without this data (for instance, if you were using it but for a trivial feature that you wouldn't mind removing).

Thank you! Removing this data is an important step in trying to provide more consistent PGCR access. Hopefully it will bear good fruit, and won't cause too much of an inconvenience for those of you using the PGCR endpoint.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Bungie-net/api/issues/1176?email_source=notifications&email_token=AABVGF6NWLGE673NQ3GW4FTQZE4HZA5CNFSM4J4BNIKKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IBFEZHQ, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABVGFZBV3YI6XOYIQ4JL6TQZE4HZANCNFSM4J4BNIKA .

bladefist commented 4 years ago

Destiny Tracker Here - We're good w/ this!

joshhunt commented 4 years ago

Just to be clear - this is just the Bungie.net profile stuff? Destiny membershipType and membershipId will remain for each player, right? So you'll still be able to know which destiny player was in an activity?

That's fine. I don't use this (and i would be surprised if many did!)

t3rr11 commented 4 years ago

Guardianstats here as well. I don't use this data, so all is good!

vthornheart-bng commented 4 years ago

Cool, and yes indeed: strictly the bungie.net profile data would be removed. Destiny membership type, membership ID, and other info would be retained!

dcaslin commented 4 years ago

I apparently use this for a single thing at D2Checklist... but it's nothing important and I'm 90% sure I can just use regular Destiny member info (and if I can't use any of it, I'll remove the silly little feature). Godspeed improving performance!

dcaslin commented 4 years ago

And... my usage of it is removed. In case anyone else needs it, you can look up the Bungie membership on the fly with:

Destiny2/' + membershipType + '/Profile/' + membershipId + '/LinkedProfiles/

vthornheart-bng commented 4 years ago

Sweet, thank you! You all rock, I appreciate it!

chrisfried commented 4 years ago

I do currently use this info directly from PGCRs... But I imagine I could work around it easily enough.

BlazeBoss17 commented 4 years ago

Raid.report does not use this data

bladefist commented 4 years ago

@vthornheart-bng Is this going to go live soon?

vthornheart-bng commented 4 years ago

TBD on the specific date. We actually ended up in a pretty decent place at the moment server perf-wise, and we've got several higher priority projects we're trying to work on at the moment: so for the time being this is on our backlog of changes we're planning to make but haven't had the time to do yet. I will let you folks know when we loop back around to it!

Until then, if anyone is using it for some reason, feel free to use this lag time to find alternatives!

justrealmilk commented 4 years ago

I'm confused about what's going

{
  "standing": 1,
  "score": {
    "basic": {
      "value": 47,
      "displayValue": "47"
    }
  },
  "player": {
    "destinyUserInfo": {
      "iconPath": "/common/destiny2_content/icons/f34823bfdefc09b2976228c3e649d5f2.jpg",
      "crossSaveOverride": 3,
      "applicableMembershipTypes": [
        1,
        2,
        3
      ],
      "isPublic": true,
      "membershipType": 3,                      // removing this at this time incurs an extra API request
      "membershipId": "4611686018467256093",    // need this
      "displayName": "Seance"
    },
    "characterClass": "Warlock",
    "classHash": 2271682572,                    // super handy for reporting the class the player ran in case the character has since been deleted
    "raceHash": 3887404748,
    "genderHash": 2204441813,
    "characterLevel": 50,
    "lightLevel": 965,
    "emblemHash": 3605490915
  },
  "characterId": "2305843009300685430",
  "values": {
    ...
  }
}
t3rr11 commented 4 years ago

entries.player.bungieNetUserInfo property

Yeah i'm a little confused as well, I don't see this property, has it already been removed now?

bladefist commented 4 years ago

@justrealmilk @t3rr11 They are removing entries.player.bungieNetUserInfo The membershipId/Type is destinyUserInfo, not bungie. If something was removed otherwise, that might be a bug?

vthornheart-bng commented 4 years ago

Hmm, yes if you're not getting destinyUserInfo that's an unintended bug. Is anyone not receiving destinyUserInfo? Just making sure!

vthornheart-bng commented 4 years ago

I apologize for not communicating when the change was going to go live - the change is already live, but should only affect the bungieNetUserInfo property. If you're seeing any other data that mysteriously disappeared, hit me up with a PGCR ID and let me know the situation (you're seeing data not come down for a property across the board, or for specific PGCRs where you would expect it etc)

bladefist commented 4 years ago

I checked one match and it looked fine. Pretty conclusive imo. lol

t3rr11 commented 4 years ago

Yeah i also don't see any problems other than the missing bungieNetUserInfo property (which makes sense as the change went live), All working as intended on my end.

vthornheart-bng commented 4 years ago

Sweet - good deal! Sorry about the lack of communication for the timeline! (fortunately it sounds like most people either moved away or were never using it)