TwitterAPIで画像を投稿するには

ついにきてた!

Twitter、画像アップロードAPIをサードパーティーに公開


古い!情報についていけない!

8月16日の記事です。いまさらですね。

Twitterに画像を投稿出来るようになったのはすぐ知ってたんですけど、
APIが公開されるってのを知らなくて気付いたのが今になったってお話ですね。


という訳でやってみた

POST statuses/update_with_media

Unlike POST statuses/update, this method expects raw multipart data. Your POST request's Content-Type should be set to multipart/form-data with the media[] parameter

ナマのマルチパートデータでmediaってパラメータで送ってねみたいなことが書いてあると信じてる。


statusとmediaが必須パラメータって事らしいので紛らわしいことは置いておいて、
さっそくやってみた。

tmhOAuth.phpを落としてやれば簡単だったお

ソースコード

<?
	require LIB_DIR.'tmhOAuth.php';

	$pic = '画像までのファイルパス';

	$tmhOAuth = new tmhOAuth(array(
		'consumer_key'    => 'APIのカスタマーキー',
		'consumer_secret' => 'APIの秘密鍵?みたいなん',
		'user_token'      => '投稿するユーザのトークン',
		'user_secret'     => '投稿するユーザの秘密鍵?みたいなん',
		'host'=>'upload.twitter.com',
	));
	$params = array(
	    'status' => $message,
	    'media[]'=>'@'.$pic,	
	);

	$code = $tmhOAuth->request('POST', $tmhOAuth->url("1/statuses/update_with_media"),
		$params,
		true, // use auth
		true  // multipart
		);

	//レスポンスコード?
	echo $code;
	//レスポンス
	echo $tmhOAuth->response['response'];

出来たお\(^o^)/