2011-07-06 10 views
1

は私が持っているもの:localhostのポスト/更新データは

でTwitterやPHPアプリで作成した Twitterアプリは、私が欲しい:TwitterのAPIを経由して ポストつぶやき/更新状況を唯一のアプリケーションのアカウントから(!) 。 twitter @はどこにもない、ユーザーはログインしていません。私が試した何

:dev.twitter.comのウェブサイトからのアクセストークンを持つ

https://github.com/abraham/twitteroauthは、

または "POSTデータがこの トークンでは使用できません"

を返さそんな感じ。

コードスニペット私はいくつかのウェブサイトをご覧ください:

返さ

// Define credentials for the Twitter account 
define('TWITTER_CREDENTIALS', 'username:password'); 


// Set up CURL with the Twitter URL and some options 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'http://twitter.com/statuses/update.xml?status=test_status'); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2); 
curl_setopt($ch, CURLOPT_VERBOSE, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 


// Twitter uses HTTP authentication, so tell CURL to send our Twitter account details 
curl_setopt($ch, CURLOPT_USERPWD, TWITTER_CREDENTIALS); 


// Execute the curl process and then close 
$data = curl_exec($ch); 
curl_close($ch); 


// If nothing went wrong, we should now have some XML data 
echo '<pre>'.htmlentities(print_r($data, true)).'</pre>'; 

大きなコードスニペットがある、基本認証を使用しています

答えて

0

私は問題が何かを発見しました。

デフォルトでは、Twitterはすべてのアプリケーションを読み取り専用に設定します。したがって、PHP経由でログインしてもPOST/UPDATEを送信することはできません。何をする必要があるアプリケーションの設定(アプリ名、説明、およびアバターを設定する1)に移動し、アバターの前に「デフォルトのアクセスタイプ」はあります、読む

に切り替え、書く、&ダイレクトですメッセージ

とvoila。アプリこのスニペットを使用

$twitter = new \TwitterOAuth('consumer_key', 'consumer_secret', 
           '(oauth_token', 'oauth_token_secret'); 
$twitter->get('account/verify_credentials'); 
$twitter->post('statuses/update', array('status' => 'test status')); 

ああをテストするために、あなたのアプリにログインものを行う必要はありません

、あなたは「マイアクセストークン」メニューの下に必要なトークンを取得します。

0

た "基本認証がサポートされていません です"もはやTwitterでサポートされなくなりました。それを無視してください。

これで、代わりにTwitterでOAuthが必要になりました。これは、abrahamのtwitteroauthライブラリが使用するものです。 はこれを少なくとも1回は使用してログイン/認証する必要があります。

ご自身のコンシューマーキーとコンシューマーシークレットを受け取るには、最初にregister your app with Twitterも必要です。それからtwitteroauthを使ってTwitterのAPIを使うことができます。

+0

はい私は自分のアプリをTwitterに登録しています。これらのキーなしでtwitteroauthを使用することはできません。あなたは、アプリケーションの設定パネルに行くと、あなたはまた、アプリケーションのためのトークンを取得します。 – Inoryy

関連する問題