2012-09-02 71 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');' –