我对这个看似简单的概念感到有些困惑。基本上,我正在构建一个网络应用程序,如果与我的帐户发生事件发生,该应用程序将通过Twitter Direct消息通知用户。我将以CakePHP作为基础框架在PHP中构建它。我希望能够通过OAuth从应用程序中发送直接消息。我使用了Twurl控制台(在 http://dev.twitter.com/console)通过

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

当我检查我的DM时,我基本上会从自己那里得到DM。是因为Twurl控制台在发送应用程序时使用您的屏幕名称,或者是因为在调用Direct_message/new.xml时,您正在从您的帐户中发送DM,该帐户已通过Twurl中的测试应用程序进行了认证。最后,我希望完成与Spontwts所做的相同的事情 - 当您的帐户上发生某些事情时,通过DM通知您。非常感谢任何输入,资源,链接或代码样本:)

有帮助吗?

解决方案

您可以通过关注者的屏幕名称发送直接消息,而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");

并在应用程序中提供读/写/直接消息权限。

其他提示

首先,如果您希望您的应用程序与Twitter接口,则必须先进行注册。这 Twitter文档 确切说明这是如何完成的。

拥有此功能后,请按照OAUTH版本1授权协议获取访问令牌。通过拥有访问令牌,您可以从本质上调用Twitter受保护的资源。完整的协议(上面链接上给出)向您展示了如何实现这一目标。该控制台可以轻松绕过OAUTH协议,因为您已经通过Twitter进行了身份验证(OAuth致电,服务提供商)。 OAuth仅允许服务提供商进行客户凭证身份验证。

我希望这有帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top