Steam web api获取项标记(TF2)


Steam web api get items tag (TF2)

我正试图从一些项目中获取标记,但找不到能给我这些标记的函数。。我正在使用来自steam web API的GetPlayerItems来获取玩家物品,但它不会给我物品标签,我该怎么办?

有办法给我标签吗?

我还有一个问题,有没有一种快速的方法来提取物品的图像?而不是存储在我的服务器上?我的意思是通过steam服务器或其他什么来获取图像的URL。。

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

谢谢!

您需要组合两个单独的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查看从GetSchema调用返回的result['items']数组。您将必须遍历这些项中的每一项,比较GetPlayerItems定义索引和GetSchema定义索引。当它匹配时,你已经知道项目是什么了。

在上述情况下,5050Backpack Expander。您可以通过查看GetSchema匹配中的image_urlimage_url_large值来获取此项目的图像。

对于你提到的"标签",我假设你指的是attributes。这些可以通过遵循类似的过程进行匹配,但可以针对GetSchemaresult['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
        },

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