【问题标题】:How do I get the steam API to work?如何让 Steam API 工作?
【发布时间】:2013-10-27 22:11:36
【问题描述】:

让我先说几天前我刚刚弄清楚如何使用 JQuery 的“$.ajax()”。我已经能够读取本地 .xml 和 .json 文件。

另外,我已经弄清楚如何使用谷歌地图 API 来导入动态和静态地图。 (只是按照谷歌文档)

现在,我想在学校项目中使用 Steam ID,但我不断收到此错误:

XMLHttpRequest cannot load http://api.steampowered.com/ISteamUser/GetFriendList/v0001/?key=[MY_SECRET_KEY]2&steamid=76561197960435530&relationship=friend. Origin http://local.mysite.com is not allowed by Access-Control-Allow-Origin. 

(我取出密钥,生成的密钥假设允许访问http://local.mysite.com

这是我的代码:

    <script type="text/javascript">
        $.ajax({
            url: "http://api.steampowered.com/ISteamUser/GetFriendList/v0001/?key=[MY_SECRET_KEY]&steamid=76561197960435530&relationship=friend",
            dataType: "json",
            success: function(data){
                console.log(data);
            },
            error: function(req,text,error){
                console.log(text);
                console.log(error);
                console.log("DIDN'T WORK!")
            }
        });
    </script>

有人知道发生了什么吗?我似乎无法让它工作。

【问题讨论】:

  • 那么“[MY_SECRET_KEY]”是您生成的密钥吗?看起来您应该替换 GetFriendList 可以解释的键“[MY_SECRET_KEY]”。

标签: javascript ajax jquery steam-web-api


【解决方案1】:

this answerthe posts here。更多背景信息请访问mdn。 本质上,您遇到了一个安全问题,即浏览器不允许您从http://local.mysite.comhttp://api.steampowered.com 发出请求。

您可以访问服务器吗?而不是发出这样的请求:browser -&gt; steampowered 您可以发出这样的请求 browser -&gt; your server -&gt; steampowered

您将要在您的服务器上创建一个端点(以便它在您的域中),您可以向该端点发送请求,然后将请求发送到蒸汽驱动。

您正在运行什么语言/框架,我们可以为您提供示例代码。

【讨论】:

  • 我在 Mac 上的 Apache 2 上运行虚拟服务器。我对此仍然有些陌生,而且我没有实际的服务器。非常感谢您的帮助。
  • 很公平,您现在有任何后端代码在运行吗?您仍然可以在您的 Mac 上执行此操作。如果您现在只有一个静态站点,则必须引入一些后端代码。
  • 我以前从未做过任何后端代码。我即将学习 Python,但我现在只知道如何将 Javascript 加载到浏览器中并通过这种方式运行它。
猜你喜欢
  • 2012-07-14
  • 2015-09-03
  • 2014-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-12
  • 2013-03-10
相关资源
最近更新 更多