2012-07-07 31 views
0

的Twitter的API:更新工作,但過濾器不 的JavaScript Twitter的OAuth的Twitter的API jsoauth的Twitter的API:更新工作,但過濾器不

在下面的代碼,我從jsOAuth庫實例的OAuth實例通過bytespider

// jsoauth API reference: 
    // http://bytespider.github.com/jsOAuth/api-reference/ 

    var twitter = new OAuth(oauthOptions); 

    //authentication occurs 

    console.log('url: ' + url); 
    console.log('data: ' + JSON.stringify(data)); 

    twitter.post(
     url, 
     data, 
     success, 
     failure 
    ); 

當我訪問流:

url: https://stream.twitter.com/1/statuses/filter.json 
    data: {"track":"%40twitterapi"} 
    --> This does not work, neither the `success` nor `failure` callbacks get called, just hangs 

當我鳴叫:

url: https://api.twitter.com/1/statuses/update.json 
    data: {"status":"foobar","trim_user":true,"include_entities":true} 
    --> This works, the `success` callback gets called 

我的猜測是,驗證信息不是通過向stream.twitter.com API獲得,即使它打通至api.twitter.com API。可以安全地排除OAuth問題,因爲推文能夠證明身份驗證已成功。

我在這裏做錯了什麼?

謝謝!

回答

1

這並不是說

這不起作用,無論是success也不failure回調得到 叫,只是因爲你使用的是Streaming API,這是爲了「掛」掛起

,因爲使用這意味着你正在開啓與Twitter服務器的連接,只要應用程序正在運行,服務器就會保持活動狀態。然後每一條新的推文都會通過管道實時發送到這個連接。

你應該看看使用HTML5 WebSockets

+0

+1 && check @ Arvin:沒有想到它是流式傳輸,因爲它出現在其「REST API」部分(https://dev.twitter.com/docs/api)下。感謝您指出了這一點! – bguiz 2012-07-07 11:34:16

+0

@ Arvin:我在這裏問了一個跟進問題:http://stackoverflow.com/questions/11374771/how-to-make-twitter-streaming-apis-work-with -jsoauth如果你知道如何做到這一點與HTML5 WebSockets,並想展示如何,這將是非常好的! – bguiz 2012-07-07 12:27:12