2012-09-02 74 views
2

这让我难以忍受!我正在尝试制作一个简单的Twitter应用程序。我已经尝试了一些看到在旧的问题在这里的relavent代码(也许代码是过时的?)使用Twitter API发布直接消息,PHP

我使连接到Twitter,使用 $connection = new tmhOAuth(array('consumer_key' =>, 等,并能够发布证书验证鸣叫是这样的:

$connection->request('POST', 
$connection->url('1/statuses/update'), 
array('status' => $tweet_text)); 

但是当我尝试做一个直接的消息,PHP脚本似乎在这点挂起:

我试着这样说:

$connection->post('1/direct_messages/new', array('text' => 'dm text here', 'FROM_TWITTER_NAME' => 'TO_TWITTER_NAME')); 

我也试过这样:

$method = 'direct_messages/new'; 
$receiverScrName = "SCREEN_NAME"; 
$parameters = array('screen_name' => $receiverScrName, 'text' => 'how are you'); 
$connection->post($method, $parameters); 

的大写文字是有效的叽叽喳喳的名字。 这应该是简单的图片,但我即将拉出我的头发!任何帮助将不胜感激!

感谢, 埃迪

回答

1

您使用的亚伯拉罕·威廉姆斯的PHP OAuth的Twitter的图书馆吗?我会推荐马特哈里斯。

要发布推文:

$tweet = "This is my tweet"; 

$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $oauth_token, $oauth_token_secret); 
$connection->post('statuses/update', array('status' => $tweet)); 

要发布一个直接的信息:

$msg = "This is my direct message"; 

$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $oauth_token, $oauth_token_secret); 
$connection->post('direct_messages/new', array('user_id' => $user->id, 'text' => $msg)); 
+0

非常感谢您阿琼 –

+0

我下载的抗体威廉姆斯PHP OAuth的Twitter的LIB从GitHub。我不需要在某个地方设置文件,以便PHP可以找到它吗? –

+0

如果你的主目录是'/ myapp /',里面有说twitteroauth文件夹和其他文件,包括config.php是,那么你只需要确保你包含这些都在你的PHP文件。假设你把你的代码文件放在主文件夹'/ myapp /'中,那么你需要在每个PHP文件的顶部添加这两个文件。 'require_once('twitteroauth/twitteroauth.php'); ' 'require_once('config.php');' 如果你把它放在主文件夹内的另一个文件夹,那它应该是这样的。 'require_once('../ twitteroauth/twitteroauth.php');' 'require_once('../ config.php');' –