2013-01-10 339 views
0

我已經沒有足夠的嘗試了......剛剛得到這個「你做得太多了,27分鐘後再試一次。」所以我想我會來這裏問。無法獲得/ api/login /工作 - JavaScript/Reddit


這是我送

URL請求:

http://www.reddit.com/api/login/ 

頭:

User-Agent: "Reddit test app" 

POST數據:

user=USERNAME&passwd=PASSWORD&api_type=json 

的URL,而不是把參數......奇怪的作品!我想避免這種情況,因爲在URL中傳遞密碼可能並不安全。

例如http://www.reddit.com/api/login/?user=USERNAME&passwd=PASSWORD&api_type=json


另一個問題...我怎麼訪問/api/v1/me/

嘗試將modhash作爲GET/POST參數傳遞,並將「uh」作爲標題傳遞。他們都沒有工作。


任何想法我做錯了什麼?謝謝! :)

回答

1

首先,您可以使用https://ssl.reddit.com進行登錄。這使得關於將參數作爲URL的一部分傳遞是不必要的。

其次,/ api/v1/me /只能用於具有「身份」範圍的OAuth2訪問。它不能從登錄的會話中訪問。

至於爲什麼你的POST請求不工作,你可能錯誤地編碼了POST數據。嘗試將您的數據發佈到http://httpbin.org/post,看看您是否得到預期的結果。

+0

且不說「藏」在POST數據的密碼甚至沒有遠程安全。 –

+0

@NeilWilliams同意。 – bboe

1

我知道它的一個老問題,但只是想添加一個答案,以防萬一在這裏提到。我認爲問題在於不在標題中使用「內容類型」,因此發佈數據得到正確處理。我犯了同樣的錯誤和一個叫「.setRequestHeader(」Content-type「,」application/x-www-form-urlencoded「);」修復。我認爲每個人都在使用像jQuery這樣的框架,這必須在內部完成。