簡體   English   中英

Steam API 使用 Javascript 獲取 SteamID

[英]Steam API Get SteamID using Javascript

遇到了似乎是同源策略的問題,這引起了相當大的頭痛!

為了切入正題,我實際上是在僅提供用戶名時嘗試獲取用戶的 steam64id。

例如,我的用戶名:“Emperor_Jordan”我會去:

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

我需要的蒸汽就在頂部。 所以我想我會使用 JQuery Ajax 來獲取它並解析出我以后使用所需的 id(steamapi 使用需要 steam64id),如下所示。 這是有問題的代碼片段:

$.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(同源策略)。

我是否以錯誤的方式接近這個問題,有解決方法嗎?

謝謝!

正確的。 正在運行到同源策略:

XMLHttpRequest cannot load http://steamcommunity.com/id/emperor_jordan/?xml=1. Origin http://fiddle.jshell.net is not allowed by Access-Control-Allow-Origin.

看起來 Steam 沒有提供像 JSONP 這樣的跨域解決方案 這意味着您又回到了舊但可靠的解決方案:在您的服務器上獲取數據,而不是在瀏覽器中。


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

您需要在 Heroku 中創建一個代理服務器才能獲取數據。 Cors 限制我們將數據直接調用到我們的瀏覽器,而不是服務器到服務器的交互。 所以我們需要一個代理服務器來代表我們發送請求和接收數據。 它對我有用。

提前致謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM