2010-12-01 118 views
0

我對這個看似簡單的概念有點困惑。基本上,我正在構建一個網絡應用程序,如果他們在我的帳戶中發生了事件,它將通過Twitter直接消息通知用戶。我使用CakePHP作爲底層框架在PHP中構建它。我希望能夠通過oAuth從應用程序發送「來自」應用程序的直接消息。我用了Twurl控制檯(在http://dev.twitter.com/console)通過如何通過OAuth(Twitter)從應用程序的screen_name發送直接消息

http://api.twitter.com/1/direct_messages/new.xml?screen_name=<my screenname>&text=<content of dm> 

發送POST請求當我檢查我的DM的我基本上是從自己得到DM。這是因爲Twurl控制檯在從應用程序發送內容時使用了您的屏幕名稱,或者是因爲在調用direct_message/new.xml時,您將從帳戶中發送DM,並且該帳戶已通過Twurl中的測試應用程序進行了驗證。最後,我希望完成與spontwt相同的事情 - 當您的帳戶出現問題時,通過DM通知您。任何輸入,資源,鏈接或代碼示例都非常感謝:)

回答

1

您可以通過 其中,userID是人的網名通過發送您的追隨者的網名直接留言,

ConfigurationBuilder cb=new ConfigurationBuilder(); 

cb.setOAuthAccessToken("Your App Access Token"); 

cb.setOAuthAccessTokenSecret("Your App Token Secret"); 

cb.setOAuthConsumerKey("Your App ConsumerKey"); 

cb.setOAuthConsumerSecret("Your App ConsumerSecret"); 

cb.setIncludeRTsEnabled(true); 


TwitterFactory tf=new TwitterFactory(cb.build()); 


Twitter twitter=tf.getInstance(); 

twitter.sendDirectMessage(userID, "Message"); 

,並提供應用程序的讀/寫/直接留言權限。

1

首先,如果您希望您的應用程序與Twitter接口,則必須先註冊它。 Twitter Document解釋瞭如何完成。

完成此操作後,請按照OAuth版本1授權協議獲取訪問令牌。通過擁有訪問令牌,您基本上可以調用Twitter受保護的資源。完整的協議(在上面的鏈接中給出)向您展示瞭如何實現這一點。由於您已通過Twitter(OAuth調用服務提供商)進行身份驗證,因此控制檯可輕鬆繞過OAuth協議。 OAuth僅允許服務提供商執行客戶端憑據身份驗證。

我希望這會有所幫助。

+0

所以基本上我只需要存儲由我的應用程序的屏幕名稱Twitter授予的訪問令牌。然後,只要需要,我可以撥打直接消息資源。 – 2010-12-01 17:03:44

相關問題