Apologies for the title being split into two words. The Dev Forum doesn’t allow you to have long words in your title. (This is most likely why it’s so difficult to find others talking about this, because you can’t even type :PromptAllowInventoryReadAccess() in the title)
I’m trying to get access to the player’s inventory to see what gamepasses, shirts, tshirts, and pants the player has for sale. However, there seems to be a lack of documentation regarding :PromptAllowInventoryReadAccess() and how to use it.
Could someone please explain how to use it to read the player’s inventory information once it returns true.
AvatarEditorService’s inventory access methods only concern avatar items. Passes aren’t listed using GetInventory. The inventory of a player will contain items that they are not the seller of. In your use case where you are trying to fetch all items a player is selling, AvatarEditorService’s inventory methods will give you many extra items not created/sold by the LocalPlayer.
The SearchCatalog method of AvatarEditorService can be called with a parameter that specifies the creator name. With this, you can page through every avatar item that the player sells. The parameters can be refined to include off-sale items as well.
This forum post describes a method where you fetch all the universes a player has made and fetch the passes from each of them. It requires a proxy to access Roblox web APIs from within a game server.
Thanks! I managed to figure it out. Had to do a lot of digging haha
As for gamepasses, I already have a script in my game that gets all the shirts, tshirts, pants, and gamepasses of a player with a public inventory. Unfortunately, no API can read private inventories. That’s why I am requesting access to the player’s inventory if they have it set to private.
I get all shirts, tshirts, and pants and then use MarketPlaceService:GetProductInfo() to check if the player actually owns the item or not. Then, if a player wants to load their gamepasses, they’re told ingame that they will need to custom add their passes OR set their inventory to public.
Upon loading everything, I save all relevant information into a datastore so I don’t have to request edit access each time the player joins.
Sorry, didn’t mean to yap that much haha
Thanks for your response and help!