Bungie-net / api

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

Add linked games to the SearchUsers endpoint? #999

Open t3rr11 opened 5 years ago

t3rr11 commented 5 years ago

Would it be possible to return linked games or versions owned with results returned from /User/SearchUsers/ and /User/GetCurrentBungieNetUser/?

I'm building a search component and it returns a wide range of accounts using the searchusers endpoint, but in order to determine if they have a destiny2 account or not i need to take their individual blizzardDisplayName, psnDisplayName and run that against the /Destiny2/SearchDestinyPlayer/-1/${ platformName }/ endpoint, and for some people with more than 1 linked account do this multiple times.

Is there a possible way to just have linked games or even versions owned returned along with the searchusers results just to speed this process of detection up and eliminate those who do not own D2 from the search results.

image

These players highlighted in red get returned because they have registered with Bungie and have at least played destiny 1 to have a psnDisplayName or xblDisplayName but they do not have Destiny 2 and there is no way to detect this without calling another endpoint.

Note: Have also tried using /Destiny2/SearchDestinyPlayer/-1/${ searchInput }/ to find users instead of using /User/ but it only returns exact matches, In other words /Destiny2/SearchDestinyPlayer/-1/Terrii/ it returns no results because there is nobody with the displayName Terrii, as i have the displayName Terrii#1506.

cowgod commented 5 years ago

Yeah, I'd love improvements to the User.SearchUsers or Destiny2.SearchDestinyPlayer endpoints as well. It's especially tough to look up PC accounts, since in many cases the game doesn't show someone's #xxxx suffix.

Of course, with the impending move to Steam, I realize usernames will be changing in ways that (AFAIK) haven't been publicly talked about yet, and I don't know which of the various Steam IDs will be used to identify users.

So until we know those details, I can't really articulate exactly what I'd like to see done with the endpoints, but I guess I'd sum it up as simply saying that I'd love to have an endpoint I could use to enter someone's name as it appears in-game, and find their profile. I feel like that was the intention for one or both of these endpoints, but it doesn't currently work that way, at least for Blizzard accounts. I hope that's being taken into consideration as the work is underway for cross-save and the move to Steam.

vthornheart-bng commented 5 years ago

Potentially! I need to check on that, as obtaining that information might not be feasible on our end. I'll file a task so we have the request in the backlog!

In regards to the name search, indeed the exact name matching nature of the search is a limitation that we won't be able to provide a workaround for in the foreseeable future.

The nature of how this is affected with Steam is TBD, but I will attempt to share that information when possible.

vthornheart-bng commented 5 years ago

TFS 818035

vthornheart-bng commented 5 years ago

Okay, I got the info - here’s the scoop on Steam display names!

We recognize that Steam display names can have some “unique qualities” (unprintable characters, profanity, unusually long names etc…) that our system does not support.

For most people, Steam display name lookup will work fine. For a limited number of users, it won't: especially if they have characters we can't print on the web site or profanity. This is a known limitation for a small subset of users. You will still be able to locate users directly via mechanisms that use their Membership ID (for instance, finding them through a PGCR of a match they played, their Clan membership, or through a name search for their Bungie.net profile rather than a platform name lookup).

cowgod commented 5 years ago

Gotcha! Thanks for the info. So since Steam display names aren't unique, I guess that means there won't be any reliable way to identify a specific user with their steam name? I haven't worked with steam users programmatically before, but from what I'm reading, it looks like Steam actually has multiple different identifier formats, and there are even sites for translating between them, such as:

https://steamidfinder.com/

Will the API offer any way to pass it some sort of unique identifier from Steam to find a specific Bungie.net user? Or are we limited to passing a display name and getting multiple entries back?

floatingatoll commented 5 years ago

To ask a different question, will we be offered a way to lookup the Bungie.net membershipID for a given STEAMID of their format 1:0:2647284729?

On Aug 5, 2019, at 12:10, Dan McCormack notifications@github.com wrote:

Gotcha! Thanks for the info. So since Steam display names aren't unique, I guess that means there won't be any reliable way to identify a specific user with their steam name? I haven't worked with steam users programmatically before, but from what I'm reading, it looks like Steam actually has multiple different identifiers, and there are even sites for translating between them, such as:

https://steamidfinder.com/

Will the API offer any way to pass it some sort of unique identifier from Steam to find a specific Bungie.net user? Or are we limited to passing a display name and getting multiple entries back?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.