【问题标题】:Get random app details from Steam API从 Steam API 获取随机应用详细信息
【发布时间】:2018-02-27 09:34:34
【问题描述】:

我正在尝试构建一个脚本,它可以为我提供来自 Steam 的随机游戏及其详细信息。

我的第一个想法是我从所有应用程序通过 https://api.steampowered.com/ISteamApps/GetAppList/v2/

然后我从中得到一个随机的 AppId。

http://store.steampowered.com/api/appdetails?appids=RANDOMAPPID 我可以从中获取详细信息。

但并非列表中的所有应用都在商店中。所以在大多数情况下,我什么也得不到,我必须搜索另一个应用程序。 问题是我只能在 5 分钟内完成 200 个请求。大部分时间我都没有得到任何应用程序的详细信息。

我还有其他方法可以获取随机应用程序 + 详细信息吗?

我只是在使用 PHP 和 JavaScript。

谢谢。

【问题讨论】:

  • 总是想知道为什么有人投反对票而不是评论

标签: php json steam


【解决方案1】:

只是想给你一个想法:这个array_column函数给出了具有指定列值的数组。我们必须传递双维数组。

function arrayColumn(array $array, $column_key, $index_key = null) {
        $result = array ();
        foreach ( $array as $arr ) {
            if (! is_array ( $arr ))
                continue;

            if (is_null ( $column_key )) {
                $value = $arr;
            } else {
                $value = $arr [$column_key];
            }

            if (! is_null ( $index_key )) {
                $key = $arr [$index_key];
                $result [$key] = $value;
            } else {
                $result [] = $value;
            }
        }

        return $result;
}




$apps_data = reponse of this service https://api.steampowered.com/ISteamApps/GetAppList/v2/

$app_ids_array = arrayColumn($apps_data['applist']['apps'],'appid');

$random_app_ids = array_rand($app_ids_array,100);

foreach($random_app_ids as $app_id){
Hit this service http://store.steampowered.com/api/appdetails?appids=$app_id 
}

【讨论】:

  • 您好,感谢您的回答。我的主要问题是,当我从商店而不是通过 api 请求信息时,我只在应用程序是否在商店中时才获得信息。那是错误的方式,因为我不能每次都向商店发送请求。也许还有另一种方法超过 api?
猜你喜欢
  • 2019-11-23
  • 2018-06-17
  • 2012-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-15
  • 2022-08-19
  • 2013-01-09
相关资源
最近更新 更多