Steam web api get items标签(TF2)

时间:2013-08-22 13:17:39

标签: php api steam

我正试图从某些项目中获取标签,但我找不到能给我这些标签的功能.. 我正在使用Steam网页API中的GetPlayerItems获取播放器项目,但它不会给我 项目标签,我该怎么办?

有没有办法给我标签?

我有另一个问题, 是否有一种快速的方式来拉动项目的图像?不是通过将其存储在我的服务器上? 我的意思是像通过蒸汽服务器或其他东西的图​​像的URL ..

我已经尝试GetSchema查找某个项目的信息,但我真的不知道它是如何工作的。

谢谢!

1 个答案:

答案 0 :(得分:2)

您需要结合两个单独的API调用来将GetPlayerItems链接到数据的实际含义。

执行GetPlayerItems来电并返回数据。在返回数据中,您将迭代result['items']以获取播放器项的列表。

该数组中的一个项目可能如下所示:

{
            "id": 493336261,
            "original_id": 493336261,
            "defindex": 5050,
            "level": 50,
            "quality": 6,
            "inventory": 2147483948,
            "quantity": 1,
            "origin": 2,
            "attributes": [
                {
                    "defindex": 195,
                    "value": 1065353216,
                    "float_value": 1.000000
                }
            ]

},

使用此数据,您可以使用defindex查看result['items']来电中返回的GetSchema数组。您必须遍历每个项目,将GetPlayerItems defindex与GetSchema defindex进行比较。如果匹配,您就知道该项目是什么。

在上述情况下,5050Backpack Expander。您可以通过查看image_url匹配的image_url_largeGetSchema值来提取此项目的图片。

对于你提到的“标签”,我假设你的意思是attributes。这些可以通过遵循类似的过程来匹配,而是匹配GetSchema result['attributes']数组。同样,您必须遍历所有值并比较defindex值。

对于上面的示例,defindex = 195的属性与此匹配:

        {
            "name": "always tradable",
            "defindex": 195,
            "attribute_class": "always_tradable",
            "description_string": "#Attrib_Always_Tradable",
            "description_format": "value_is_additive",
            "effect_type": "negative",
            "hidden": true,
            "stored_as_integer": false
        },

float_value属性中的1.0 GetPlayerItems表示此对象具有该属性。所以,这个背包式扩张器总是可以交易的。