1

我正在尝试从某些项目中获取标签,但我找不到给我这些标签的函数。我正在使用GetPlayerItemsSteam Web API 来获取播放器项目,但它不会给我项目标签,我该怎么办?

有没有办法给我标签?

我还有一个问题,有没有一种快速的方法来拉取物品的图像?不是把它存储在我的服务器上?我的意思是像通过蒸汽服务器或其他东西的图​​像的URL..

我试图GetSchema找到一个项目的信息,但我真的不明白它是如何工作的。

谢谢!

4

1 回答 1

3

您需要结合两个单独的 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您将不得不遍历将GetPlayerItemsdefindex 与GetSchemadefindex 进行比较的每个项目。当它匹配时,您就知道该项目是什么。

在上述情况下,5050是一个Backpack Expander。您可以通过查看匹配项上的image_urlimage_url_large值来拉取该项目的图像。GetSchema

对于您提到的“标签”,我假设您的意思是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_valueof表示该对象具有该属性。所以,这个背包扩展器总是可以交易的。1.0GetPlayerItems

于 2013-08-22T16:51:44.030 回答