0

I'm wanting to make a system that gets a users inventory then displays it as the image and name. I only know how to do the JSON part and I'm unsure as what to do next.

All I have at the moment is:

http://steamcommunity.com/profiles/<PROFILEID>/inventory/json/753/1

Is anyone able to help me turn that data into what I am looking for?

pfnuesel
  • 14,093
  • 14
  • 58
  • 71
Walter White
  • 21
  • 1
  • 3

1 Answers1

2

First off - for CS:GO, at least - the URL you are looking for is:

http://steamcommunity.com/profiles/<PROFILEID>/inventory/json/730/2

The two numbers at the end of the URL refer to the app ID and context ID, respectively. CS:GO's app ID is 730 and most games use a context ID of 2 for user inventories.

The JSON returned from this request is an object in the following format:

{
    "success": true,
    "rgInventory": { ... },
    "rgCurrency": { ... },
    "rgDescriptions": { ... },
    "more": false,
    "more_start": false
}

For the use-case you described (getting the item names and icons), you can ignore everything except the rgDescriptions object. This object contains an object for each item in the user's inventory. The object keys are the result of concatenating the item's classid and instanceid, but that doesn't really matter for you - you can just iterate over it like you would for any other object.

The two data points that you're interested in are market_hash_name, which is the name of the item, and icon_url, which is part of what you need to display the actual image. The full path to the image is https://steamcommunity-a.akamaihd.net/economy/image/{icon_url}. For example, this link loads the icon for a G3SG1 | Polar Camo in my inventory.

One thing to note is that the market_hash_name includes the wear pattern (e.g., Minimal Wear, Factory New, etc.). If you don't need those, you can just use the name from the object.

Sean Walsh
  • 8,266
  • 3
  • 30
  • 38