Twitter OAuth和Cron Jobs
问题描述:
我发现了一些代码,允许我使用OAuth连接到Twitter,以便发布推文。这段代码实际上是有关更改头像,但我改变它只是鸣叫:http://net.tutsplus.com/tutorials/php/creating-a-twitter-oauth-application/Twitter OAuth和Cron Jobs
我得到它的工作不错,但OAuth的似乎是这样,只要我关闭它断开浏览器存储在会话......我希望它永久连接,这样我就可以从Cron Job发布信息。
我该如何去做这件事?
答
<?php
// use abrahams oauth library and create your app at dev.twitter.com
$message= 'my tweet text';
define("CONSUMER_KEY", "xxxx");
define("CONSUMER_SECRET", "xxxx");
define("OAUTH_TOKEN", "xxxx");
define("OAUTH_SECRET", "xxxx");
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, OAUTH_TOKEN, OAUTH_SECRET);
$connection->get('account/verify_credentials');
$connection->post('statuses/update',array('status' => " $message "));
?>
答
最简单的方法是验证应用程序并为您的帐户保存oauth_token和oauth_token_secret。然后,当你运行脚本时,将这些值设置到$ _SESSION中,以便库可以使用它们。
这可能听起来有点迂回,它是。我会使用内置的库来手动设置访问令牌。我总是建议使用亚伯拉罕的Twitter OAuth Library for PHP:https://github.com/abraham/twitteroauth它具有良好的文档并且运行良好。
答
我会建议使用您的OAuth回调将令牌和秘密存储在数据库表中,然后从数据库中取出它们,而不是尝试使用会话变种。我在我的一个应用程序中使用Twitter,并以一种方式设置,我只需要一次允许访问Twitter应用程序。不知道您在这里的确切需求,但是我无法将推文发布到我的帐户,而无需在会话过期时重新进行身份验证。
我也是第二个GregSchoen,亚伯拉罕的Twitter OAuth Library for PHP非常易于使用。