我对这个看似简单的概念感到有些困惑。基本上我正在构建一个Web应用程序,如果在我的帐户中发生了一个事件,它将通过Twitter直接消息通知用户。我正在使用CakePHP作为底层框架在PHP中构建它。我希望能够通过oAuth从应用程序发送直接消息。我使用Twurl控制台(http://dev.twitter.com/console)通过
发送POST请求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,该DM已通过Twurl中的测试应用程序进行了身份验证。最后,我希望完成与spontwts相同的事情 - 当您的帐户发生某些事情时,通过DM通知您。非常感谢任何输入,资源,链接或代码示例:)
答案 0 :(得分:1)
首先,如果您希望应用程序与Twitter连接,则必须先注册。 Twitter Document确切地解释了这是如何完成的。
完成此操作后,请在获取访问令牌时遵循OAuth版本1授权协议。通过拥有访问令牌,您基本上可以调用Twitter受保护的资源。完整的协议(在上面的链接上给出)向您展示了如何实现这一目标。由于您已通过Twitter(OAuth调用,服务提供商)进行身份验证,因此控制台可以轻松绕过OAuth协议。 OAuth仅允许服务提供商进行客户端凭据身份验证。
我希望这会有所帮助。
答案 1 :(得分: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");
并在应用程序中提供读/写/直接消息许可。