Skip to content
This repository was archived by the owner on Mar 21, 2025. It is now read-only.

Recents and DLd #113

Closed
wants to merge 2 commits into from
Closed

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...

@RePod RePod closed this Mar 21, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Downloaded and Played properties?
2 participants