2012-07-05 91 views
0

基本上,目前我們正在嘗試編寫一個基本的HTML 5頁面,當您按下按鈕時,會返回Steam上的用戶是在遊戲中,離線還是在遊戲中線上。我們已經查看了Steam API,並且要找到這些信息,它需要該用戶的64位ID(steamID64),並且我們在網站上只給出用戶名。爲了找到他們的64位id,我們試圖從網站上刪除(steamidconverter.com)以從用戶名中得到用戶的64位id。我們嘗試通過javascript來做到這一點,但當然我們遇到了跨域塊,不允許我們從我們的谷歌App Engine網站訪問這些數據。Scraper Google App Engine for Steam

我有Python的經驗,所以我試圖找出如何從Python網站(以steamidconverter.com/(personsusername)的形式)獲取HTML。這是一個成功的拼湊,感謝Stack Overflow的另一篇文章。

但是,我不知道如何將這些數據返回給javascript,並讓它完成剩下的工作。我很難過,真的需要幫助。這一切都在谷歌App Engine上。目前所有,它是一個運行簡單JavaScript的按鈕,它嘗試使用JQuery獲取頁面內容,但失敗。我不知道如何整合這兩個!

請幫忙!

回答

1

爲什麼不使用Steam as an OpenID provider?聽起來像這樣會給你用戶的ID:

蒸汽可以作爲一個OpenID提供商。這樣,您的應用程序就可以驗證用戶的SteamID,而無需在您的網站上輸入他們的Steam用戶名或密碼(這違反了API使用條款。)只需下載適用於您的語言和平臺的OpenID庫,然後使用http://steamcommunity.com/openid作爲提供者。 (返回的聲明ID將包含用戶的64位SteamID。

+0

問題仍然存在,我現在如何獲取此人的狀態,因爲我仍然需要刮取api提供的網站(http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=XXXXXXXXXXXXXXXXXXXXXXX&steamids = YYYYYYYYYYYYYYYYY當然用我們註冊時獲得的鑰匙取代XXX,用YYY的蒸汽ID取代YYY)在該頁面上獲得gameextrainfo。它也構成了跨域塊。該部分如何工作,我將如何最有效地做到這一點。我可能不是很容易理解的東西。對不起,如果我看起來愚蠢。 – user1504773 2012-07-05 18:12:12

+0

通常,您希望讓您的後端代碼(此處爲AppEngine python的內容)與第三方(本例中爲Steam)進行通信,因爲在瀏覽器中運行JavaScript時與其他人的API進行通信存在問題已經發現了。雖然我不熟悉Steam API,但我不確定Steam API的具體細節。 – 2012-07-05 18:20:41

+0

查看使用其他Web框架的主要問題,這是否應該是一個移動兼容,並在瀏覽器中運行。它不應該有任何本地內存。 openID的想法看起來很有希望,我會進一步追求。感謝所有的一切,我希望我能以某種方式讓你的帖子得到滿足。雖然我有不到15個代表=)非常感謝! – user1504773 2012-07-05 19:14:34

1

既然你有蒸汽ID從服務然後可以使通過ID的其他請求,其蒸汽社區頁面,從那裏你可以使用美麗的湯來回報dom以獲取項目所需的信息。

現在回到您的問題。如果您使用的是像Tornado這樣的web框架,處理程序可以返回頁面中的json,並且可以使用javascript代碼呈現此json。

查看python的Web框架(如Tornado或Django)以幫助您返回並顯示數據。