Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recents and DLd #113

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Recents and DLd #113

wants to merge 2 commits into from

Conversation

RePod
Copy link
Owner

@RePod RePod commented Jan 1, 2024

Closes #112

Update hashes for purchased and plus.
Add recenty-played, currently unused.
@RePod
Copy link
Owner Author

RePod commented Jan 1, 2024

@salzrat to test:

  • Open the browser console on the Library page
    • Chrome: Ctrl+Shift+J
    • Firefox: Ctrl+Shift+K
  • In the console's input line: copy, paste, and run the contents of this URL
    • You may get a security prompt to allow pasting
  • Same as above, run the following:
let O = await repod.psdle.api.fetch(repod.psdle.config, "recently-played").then(P => P.json())
prompt("", JSON.stringify(O))
  • Provide that output here for further testing.

The Downloads tab will be more effort as by default, with no console linked, there are no relevant API calls.
You would have to watch the Network tab of your browser console ideally filtering to graphql and looking at the operationName.
The following can be ignored:

  • queryOracleUserProfileFullSubscription
  • getUserDevices
  • getCartItemCount
  • getProfileOracle
  • getAccountOracle
  • getPurchasedGameList*
  • getUserGameList*

* These may be relevant if requested by the Downloads tab but are already in use for the Purchased and Played tabs respectively.

Example

@salzrat
Copy link

salzrat commented Jan 1, 2024

First, the let O= statement threw an access denied error. After reloading it worked and produced a prompt with a json of the games list (just included the first 2 games here):

{"data":{"gameLibraryTitlesRetrieve":{"__typename":"GameList","games":[{"__typename":"GameLibraryTitle","conceptId":"201026","entitlementId":null,"image":{"__typename":"Media","url":"https://image.api.playstation.com/gs2-sec/appkgo/prod/CUSA01862_00/4/i_4244a2569bebfd546cb852592b531fdd10ce77728c8db13d55b5a5484019fd3e/i/icon0.png"},"isActive":null,"lastPlayedDateTime":"2023-12-26T17:50:12.250000Z","membership":"NONE","name":"Disney Infinity 3.0","platform":"PS4","productId":null,"titleId":"CUSA01862_00"},{"__typename":"GameLibraryTitle","conceptId":"10000378","entitlementId":"EP4433-CUSA18797_00-DUNGEONSPS400000","image":{"__typename":"Media","url":"https://image.api.playstation.com/gs2-sec/appkgo/prod/CUSA18797_00/4/i_ef3d4a1a539cc23669e31e597bdb5d56bc645ac6e2a824cfe6fb6ed61a7f13ee/i/icon0.png"},"isActive":true,"lastPlayedDateTime":"2023-12-25T23:06:43.000000Z","membership":"NONE","name":"Minecraft Dungeons","platform":"PS4","productId":"EP4433-CUSA18797_00-DUNGEONSPS400000","titleId":"CUSA18797_00"},

@salzrat
Copy link

salzrat commented Jan 1, 2024

When clicking on the downloads tab, no graphql command is issued. Only a POST to some cryptic webpage...

@RePod
Copy link
Owner Author

RePod commented Jan 3, 2024

Please test again and verify the lastPlayed property.

@salzrat
Copy link

salzrat commented Jan 3, 2024

Looks like this:
{"data":{"gameLibraryTitlesRetrieve":{"__typename":"GameList","games":[{"__typename":"GameLibraryTitle","conceptId":"201026","entitlementId":null,"image":{"__typename":"Media","url":"https://image.api.playstation.com/gs2-sec/appkgo/prod/CUSA01862_00/4/i_4244a2569bebfd546cb852592b531fdd10ce77728c8db13d55b5a5484019fd3e/i/icon0.png"},"isActive":null,"lastPlayedDateTime":"2023-12-26T17:50:12.250000Z","membership":"NONE","name":"Disney Infinity 3.0","platform":"PS4","productId":null,"titleId":"CUSA01862_00"},{"__typename":"GameLibraryTitle","conceptId":"10000378","entitlementId":"EP4433-CUSA18797_00-DUNGEONSPS400000","image":{"__typename":"Media","url":"https://image.api.playstation.com/gs2-sec/appkgo/prod/CUSA18797_00/4/i_ef3d4a1a539cc23669e31e597bdb5d56bc645ac6e2a824cfe6fb6ed61a7f13ee/i/icon0.png"},"isActive":true,"lastPlayedDateTime":"2023-12-25T23:06:43.000000Z","membership":"NONE","name":"Minecraft Dungeons","platform":"PS4","productId":"EP4433-CUSA18797_00-DUNGEONSPS400000","titleId":"CUSA18797_00"}
so seems to work!

interesting is that for the first one, entitlement is null. Some of the games have this...

@salzrat
Copy link

salzrat commented Jan 4, 2024

Oh, I have a suspicion: I guess entitlement=null for disc titles, i.e., ones that were not purchased in the store! I noticed the standard psdle doesn't export inactive titles although the field can be exported (isactive is always true). In this json I see the inactive titles, which makes a lot of sense!

@salzrat
Copy link

salzrat commented Jan 4, 2024

Thinking about this even further, the library and last played need not correlate due to different users playing the games on a console. so it might be interesting to correlate my library to the last played of another user (e.g., my son), so I know what he has played and what I haven't shown him yet... I know it's not possible to do that automatically, but by downloading my library, and then the last played list of my and his account, I could merge the data myself in excel...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Downloaded and Played properties?
2 participants