achievements-app/psn-api

Retrieve socialMetaData of the owner of the account used for Authorization

Closed this issue · 6 comments

Hello,

I'm building an SVG view of summary of the games played till now in PS.
example:

PS Summary

Its generally slow, it should load give it a few seconds. If it doesn't load attaching a screenshot of how it looks like and what info it uses.
image

The issue is the program uses makeUniversalSearch() to find the person by ID and takes the social metadata from there. However, makeUniversalSearch wouldn't return the details of the user. Any recommendations on how to handle the "me" case? Should it fallback to v1 with userID using getProfileFromAccountId?

You should avoid using the method that is marked as deprecated and instead use getUserTrophyProfileSummary(authorization, userSocialId) to get most of the data you probably are looking for.
Documentation reference: https://psn-api.achievements.app/api-docs/user-trophies#getusertrophyprofilesummary

The only thing missing from that, that you might be interested in (or not), are the user languages and the user "About Me". For those, you would need an additional function call with getProfileFromAccountId(authorization, userSocialId)

@KiranReddy0808 could you let us know if we solved your question so we can close this issue?

@TheYuriG , Apologies for not being able to reply sooner. I haven't got a chance to try it yet. I'll try to test it and return it in a few days. Till then can we keep the ticket open?

@TheYuriG , Apologies for not being able to reply sooner. I haven't got a chance to try it yet. I'll try to test it and return it in a few days. Till then can we keep the ticket open?

Sure, let us know either way and we gonna on it together if we need to. 😊

getProfileFromAccountId(authorization, userAccountId) doesn't work with "me". However, I managed to extract my userSocialId from network monitoring while logging into the PlayStation network. I was able to use the above method with the numerical ID and get my details. It returns isMe as "true", so it definitely went through my authorization token.

So to conclude I'll have to use makeUniversalSearch() for everyone except me and for my profile since I managed to extract my user AccountID I can call getProfileFromAccountId(authorization, userAccountId).

As it's solved, I think we can close the ticket. If thats okay with you? @TheYuriG