Php 如何从应用程序发送直接消息';通过OAuth(推特)获得的屏幕名称
我对这个看似简单的概念有点困惑。基本上,我正在构建一个web应用程序,如果用户与我的帐户发生事件,它将通过Twitter直接消息通知用户。我用PHP构建它,CakePHP作为底层框架。我希望能够通过oAuth发送“来自”应用程序的直接消息。我使用Twurl控制台(at)通过发送POST请求Php 如何从应用程序发送直接消息';通过OAuth(推特)获得的屏幕名称,php,oauth,twitter,twitter-oauth,Php,Oauth,Twitter,Twitter Oauth,我对这个看似简单的概念有点困惑。基本上,我正在构建一个web应用程序,如果用户与我的帐户发生事件,它将通过Twitter直接消息通知用户。我用PHP构建它,CakePHP作为底层框架。我希望能够通过oAuth发送“来自”应用程序的直接消息。我使用Twurl控制台(at)通过发送POST请求 http://api.twitter.com/1/direct_messages/new.xml?screen_name=<my screenname>&text=<content
http://api.twitter.com/1/direct_messages/new.xml?screen_name=<my screenname>&text=<content of dm>
http://api.twitter.com/1/direct_messages/new.xml?screen_name=&text=
当我检查我的DM时,我基本上从我自己那里得到了一个DM。这是因为Twurl控制台在从应用程序发送内容时使用了您的屏幕名,还是因为在调用direct_message/new.xml时,您正在从您的帐户发送一个DM,该帐户已通过Twurl中的测试应用程序的身份验证。最后,我希望完成与spontwts相同的事情——当您的帐户发生问题时,通过DM通知您。非常感谢您的任何输入、资源、链接或代码示例:)首先,如果您希望您的应用程序与Twitter交互,您必须先注册它。这篇文章准确地解释了如何做到这一点 一旦你有了这个,按照OAuth版本1授权协议获取访问令牌。通过拥有访问令牌,您基本上可以调用受Twitter保护的资源。完整的协议(在上面的链接中给出)向您展示了如何实现这一点。控制台可以轻松绕过OAuth协议,因为您已经通过Twitter(OAuth调用的服务提供商)进行了身份验证。OAuth只允许服务提供商进行客户端凭据身份验证
我希望这会有所帮助。您可以通过以下方式通过关注者的屏幕名称发送直接消息: 其中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为我的应用程序的屏幕名授予的访问令牌。然后我可以随时调用直接消息资源。
screen\u name
是您要向其发送直接消息的用户的twitter名称。访问令牌允许您在twitter上直接发送消息。