首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Javascript获得Steam API Get SteamID

使用Javascript获得Steam API Get SteamID
EN

Stack Overflow用户
提问于 2012-10-31 11:32:41
回答 2查看 7.9K关注 0票数 4

我遇到了似乎是同源政策,这是相当令人头疼!

直截了当地说,我本质上是试图在只提供用户名的情况下获取用户的steam64id。

例如,我的用户名:"Emperor_Jordan“,我会转到:

http://steamcommunity.com/id/emperor_jordan?xml=1

我需要的蒸馏水就在最上面。所以我想我应该使用JQuery Ajax来获取它,并解析出我需要的id以供以后使用(使用steamapi需要steam64id),如下所示。以下是有问题的代码片段:

代码语言:javascript
复制
$.ajax({
url: "http://steamcommunity.com/id/emperor_jordan/?xml=1",
datatype: "xml",
complete: function()
{
    alert(this.url)
},
success: parse
});

function parse(xml)
{
    alert("parsing");
    _steamID = $(xml).find("steamID64").text();
}

这里的问题是,虽然我确实收到了完成的警告,但我从来没有看到过“解析”。永远不会。它从来没有得到回调,这让我相信我遇到了SOP (同源策略)。

我是不是走错了路,有没有变通的办法?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-31 11:39:34

对,是这样。You running into the same-origin policy:

代码语言:javascript
复制
XMLHttpRequest cannot load http://steamcommunity.com/id/emperor_jordan/?xml=1. Origin http://fiddle.jshell.net is not allowed by Access-Control-Allow-Origin.

it looks like Steam does not offer a cross-origin solution like JSONP。这意味着您又回到了旧的但可靠的解决方案:在服务器上获取数据,而不是在浏览器中获取数据。

关于Steam Web API的一些相关反馈:https://developer.valvesoftware.com/wiki/Steam_Web_API/Feedback#API_Considerations_for_Web_Developers

票数 5
EN

Stack Overflow用户

发布于 2020-12-07 15:29:10

您需要在Heroku中创建代理服务器才能获取数据。Cors限制了我们直接调用数据到我们的浏览器,而不是服务器到服务器的交互。因此,我们需要一个代理服务器来代表我们发送请求和接收数据。这对我很有效。

提前谢谢。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13150879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档