2016-11-12 153 views
2

我正在使用Jquery和Plain Java Script進行twitter登錄。 我已完成大部分工作,我正在嘗試從https://api.twitter.com/oauth/request_token URL獲得request_token的URL。請求從我的網頁去很好,但每次它給我的錯誤:Twitter登錄Oauth問題使用Jquery

的jquery.js:9536個OPTIONS https://api.twitter.com/oauth/request_token 400()發送@的jquery.js:9536ajax @的jquery.js:9143clickToCalculate @ twt.html:71onclick @ twt.html:423 twt.html:1周

的XMLHttpRequest不能加載 https://api.twitter.com/oauth/request_token。預檢響應具有無效的HTTP狀態碼400 twt.html:82

對象{readyState的:0,狀態:0,狀態文本: 「錯誤」}

我的請求URL頁面http://kurbhatt.github.io/twt.html,你可以從https://github.com/kurbhatt/kurbhatt.github.io/blob/master/twt.html源頁面檢查它的頁面源代碼。

我已經把有效和足夠的數據,從Twitter應用到該頁面。

誰能告訴我爲什麼我面對這個問題?

自上3-4天,我的工作在這個問題上,仍然沒有得到該問題的解決方案。

有時,它給了我另一種類型的錯誤:

的XMLHttpRequest無法加載https://api.twitter.com/oauth/request_token。對預檢請求的響應不會通過訪問控制檢查:請求的資源上不存在「訪問控制 - 允許來源」標頭。因此不允許訪問原產地'http://kurbhatt.github.io'。響應有HTTP狀態代碼400

+0

僅僅是curions,你爲什麼要發送「Access-Control-Allow-O」 rigin「標題在你的ajax請求中?這是來自服務器。請參閱:http://stackoverflow.com/a/10143166/643039 –

+0

hello @MathieudeLorimier ..我已經從請求中刪除了該標題,但同時我也無法擁有'request_token'。 –

+0

看起來你試圖從客戶端獲取'request_token'。 –

回答

1

你其實是在「GET」請求API。

爲request_token Twitter的API只接受POST。

解決您的Ajax請求作出POST請求。該選項方法沒有

$阿賈克斯({ 方法: 「POST」, ...

+0

你好,我已經嘗試添加'方法'而不是'類型',但它也不起作用。 –

+0

有什麼好運? –

0

很好,我想回答你的評論中發表評論,但這將是太累人了。

你需要做的就是請求令牌是做一個HTTP POSTapi.twitter.com/oauth/request_token與addtional頭是什麼,那就是Authorization標題,如聲明。

你可以很容易地通過從你的web服務器創建一個cURL POST請求到上面的URL,假設你有這個cURL頁面在yourdomain.com/twittercurl,因此你可以讓你的jQuery調用該頁面而不是twitter請求令牌URL。

因爲我不知道您正在使用哪種服務器端編程語言,您需要找到合適的cURL調用。

但是,除此之外,這裏有一些鏈接,閱讀,也許你可以從中找到有用的信息: