1

いくつかのアイテムからタグを取得しようとしていますが、これらのタグを取得する関数が見つかりません. GetPlayerItemsSteam Web API を使用してプレーヤー アイテムを取得していますが、アイテム タグが取得されません。どうすればよいですか?

私にタグを与える方法はありますか?

もう 1 つ質問があります。アイテムの画像を取得する簡単な方法はありますか? サーバーに保存するのではなく?Steamサーバーか何かを介した画像へのURLのようなものです..

アイテムの情報を検索しようとGetSchemaしましたが、実際にどのように機能するかわかりません。

ありがとう!

4

1 に答える 1

3

GetPlayerItems をデータの実際の意味にリンクするには、2 つの個別の API 呼び出しを組み合わせる必要があります。

呼び出しを実行GetPlayerItemsし、データを返します。返されたデータでは、繰り返し処理を行っresult['items']てプレーヤー アイテムのリストを取得します。

その配列の 1 つの項目は次のようになります。

{
            "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 と defindex を比較して、これらの各項目を繰り返し処理する必要がありGetSchemaます。一致すると、そのアイテムが何であるかがわかります。

上記の場合、5050Backpack Expanderです。image_url一致のまたはのimage_url_large値を見ることで、このアイテムの画像を引き出すことができますGetSchema

あなたが言及した「タグ」については、あなたが意味していると思いますattributes。これらは、同様のプロセスに従うことで一致させることができますが、代わりにGetSchema result['attributes']配列に対して一致させます。繰り返しますが、すべてをループしてdefindex値を比較する必要があります。

上記の例では、属性 with は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_value1.0GetPlayerItemsこのオブジェクトがその属性を持っていることを示します。したがって、このバックパック エキスパンダーは常にトレード可能です。

于 2013-08-22T16:51:44.030 に答える