【问题标题】:Steam webAPI Jquery script. returnSteam webAPI Jquery 脚本。返回
【发布时间】:2021-11-26 14:36:21
【问题描述】:

我从 github 获得的这个脚本有问题。

我自己添加了value.appid,因为这看起来合乎逻辑,但我相信 data.response.games 是对我所有游戏及其价值观的回应。

如何让它们打印或查看定义的内容?

我需要value.descriptionvalue.ownedAchievements 之类的东西。

我想看看我必须为 CSV 处理哪些数据。

我是一个完全的菜鸟,所以很好,也太专业的 cmets 我不知道该怎么办,因为我以前从未接触过 javascript。

我目前正在学习 HTML CSS 和 PHP。

我也有一个使用我的 SQL 运行的 Docker...是否还有一种方法可以重新设计此脚本以直接将这些 value.* 值放入列中?无需下载 CSV 文件并一直手动导入。

<script src='http://code.jquery.com/jquery-2.1.1.min.js' type='text/javascript'></script>
<script type='text/javascript'>
$(document).ready(function () {
    function exportSteamToCSV(filename) {
        var url = "http://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?key=" + $('#webkey').val() + "&steamid=" + $('#steamid').val() + "&format=json&include_appinfo=1";
        
        $.get(url, function(data) {
            colDelim = ',';
            rowDelim = '"\r\n"';
            csv = '"Name","Playtime","Store' + rowDelim;
            $.each(data.response.games, function(index, value) {
                url = "http://store.steampowered.com/app/" + value.appid;
                csv += value.name + colDelim + value.playtime_forever + colDelim  + value.appid + colDelim + url + rowDelim; 
                //csv += value.name + colDelim + value.playtime_forever + colDelim  + url + rowDelim;   Was correct eerste versie
            });
            csv += '"';
            csvData = 'data:application/csv;charset=utf-8,' + encodeURIComponent(csv);
              var link = document.createElement("a");
              link.download = filename;
              link.href = csvData;
              link.target = "_blank";
              link.click();

        });
    };
    $(".export").on('click', function (event) {
        // CSV
        exportSteamToCSV.apply(this, ['steamgames.csv']);
    });
});

</script>

【问题讨论】:

  • 脚本有什么作用?建立一个 CSV 文件? file 是你真正需要的吗?速度是问题吗?价值观是问题吗?还有什么?
  • 不,我已经在很多帮助下弄清楚了第一部分的问题,如何查看它实际从 Steam 中获得的价值。*.. 它不是很多。但我想自动完成这个过程。每个列需要填写数据库中的一个表。我每行有 4 列。标题、minsPlayed、appID 和 StoreURL。我可能也需要添加“描述”,但这是我现在正在努力的另一个想法,以获取和处理来自商店网站的
    内容。我如何把这个脚本变成一个自动化的过程?网站 (steamgames.php) 何时加载?
  • 警告:CSV 有某种分隔符(逗号、制表符等)。此类字符可能存在于&lt;div&gt; 中,从而导致 CSV 文件不明确。

标签: javascript jquery mysql webapi steam


【解决方案1】:

稍后在 Laravel 中使用来自 APU 的查询解决了这个问题。 URL 只是获取所有数据.. 从那里你几乎可以做任何事情。

$url = "https://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?key=XXXXXXXXXX&steamid=XXXXXXXXXXformat=json&include_appinfo=1";
$jsondata = file_get_contents($url);
$parsed = json_decode($jsondata,true);
$games = $parsed['response']['games'];
echo SteamGame::count();
foreach($games as $game){
echo $game['name']."<br>";
$imgid = $game['appid'];
SteamGame::updateOrCreate(['name' => $game['name']],[
    'name' => $game['name'],
    'appID' => $game['appid'], 
    'storeURL' => "https://store.steampowered.com/app/".$game['appid'],
    'imageURL' => "https://cdn.akamai.steamstatic.com/steam/apps/${imgid}/header.jpg",
    'minutesplayed' => $game['playtime_forever']
    ]);

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签