2010-12-01 122 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

相关问题