【问题标题】:How get steam nickname via javascript如何通过javascript获取steam昵称
【发布时间】:2019-05-25 01:36:47
【问题描述】:

您好,我现在使用此 php 代码获取 Steam 昵称

function EchoPlayerName($steamid){
    $xml = simplexml_load_file("http://steamcommunity.com/profiles/$steamid/?xml=1");//link to user xml
    if(!empty($xml)) {
        $username = $xml->steamID;
        echo $username;
    }
}

$steam = file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key={API_KEY}&steamids=$steamid64", true);
$steamarray = json_decode($steam, true);
$name = $steamarray['response']['players'][0]['personaname'];

但我用于列出玩家和加载页面很慢 所以我希望在完整加载页面后通过 javascript 加载此数据

有什么想法吗?

API 示例

{"response":{"players":[{"steamid":"76561197964477177","communityvisibilitystate":3,"profilestate":1,"personaname":"The [G]amerX #????????????????????????????.????????????","lastlogoff":1558765863,"commentpermission":1,"profileurl":"https://steamcommunity.com/id/gamerxcz/","avatar":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/66/6673d6df066386d232164e8f9a5d9b36cad1d013.jpg","avatarmedium":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/66/6673d6df066386d232164e8f9a5d9b36cad1d013_medium.jpg","avatarfull":"https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/66/6673d6df066386d232164e8f9a5d9b36cad1d013_full.jpg","personastate":0,"realname":"Community Owner","primaryclanid":"103582791433644720","timecreated":1076786008,"personastateflags":0,"loccountrycode":"CZ"}]}}

【问题讨论】:

  • 能否分享一下网络服务的响应?
  • 网页正常加载但速度慢
  • 我想要你调用的 API 响应来解析它。
  • 如果您有这样的想法,请在帖子中添加

标签: javascript php steam-web-api


【解决方案1】:

首先,您应该使用纯 javascript 或 jquery 的 ajax 获取数据。然后,您应该针对要使用此检索到的数据填充它的 HTML 元素。想象一下 ID 为 target 的元素。

jQuery:

$(document).ready(function () {
    $.ajax({
        url: "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key={API_KEY}&steamids=$steamid64",
    }).done(function (data) {
        var json = JSON.parse(data);
        $('#target').text(json['response']['players'][0]['personaname']);
    });
});

纯javascript:

var xhr = new XMLHttpRequest();
    xhr.open('POST', 'http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key={API_KEY}&steamids=$steamid64');
    xhr.onload = function () {
        if (xhr.status === 200) {
            var json = JSON.parse(xhr.responseText);
            document.getElementById('target').innerHTML = json['response']['players'][0]['personaname'];
        } else {
            alert('Request failed.  Returned status of ' + xhr.status);
        }
    };
    xhr.send();

请记住将这些脚本放在文档的末尾。

【讨论】:

    猜你喜欢
    • 2013-10-15
    • 2021-07-30
    • 2021-02-23
    • 2019-12-17
    • 1970-01-01
    • 2017-12-18
    • 2021-03-13
    • 2021-04-14
    相关资源
    最近更新 更多