PHPでウェブの世界と繋がろう!
menu
ホーム > PHP と Twitter API V1.1 > Twitter API V1.1 > Tweets(ツイート) > 画像付きで「つぶやき」を投稿する update_with_media V1.1

画像付きで「つぶやき」を投稿する update_with_media V1.1

Pocket

[ Twitter API V1.1 ]

Twitter API statuses/update_with_media

API Resource
statuses/update_with_media
概要
 認証ユーザーのステータス情報(各つぶやきとそれに関連する諸々の情報)をメディアを付け加えて更新します。

ステータス情報の更新とは「つぶやき」を投稿するということです。このメソッドは画像付きで「つぶやき」を投稿するものです。

通常の ステータス更新statuses/update とは異なり、このメソッドは生のマルチパートデータを想定しています。

認証ユーザーのPOSTリクエストの Content-Type は media パラメータに multipart/form-data を指定する必要があります。

重要:メディアとのステータス更新では、ホストとしてupload.twitter.comを使用していることを確認してください。また、SSLを使用することを強くお勧めします。

Resource URL(リソースURL)
https://api.twitter.com/1.1/statuses/update_with_media.json
原文
Resource Information(リソース情報)
Rate Limited(制限) No(なし)
Authentication(認証) Requires user context(必要)
Response Formats(フォーマット) json
HTTP Methods(HTTPメソッド) POST(ポスト)
Resource family(リソースファミリー) statuses
Response Object(応答オブジェクト) Tweets
API Version v1.1
Parameters(パラメーター)
status
※必須
サンプル値:文字列 ステータスアップデートのテキストを指定します。URLは必要に応じてエンコードされます。メディアを追加するとつぶやきにURLが含まれるので、文字カウントに影響が出ます。さらにメディアの完成URLとつぶやき本文との間に空白文字が追加されます。したがって、アップロードされたメディアごとにcharacters_reserved_per_mediaを考慮する必要があります。

注:現在リクエストしている characters_reserved_per_media と max_media_per_upload の値を取得するには GET help/configuration を確認下さい。

media[]
※必須
最大max_media_per_uploadの画像ファイルを指定します。

サポートされている画像フォーマットはPNG、JPGとGIFです。アニメーションGIFはサポートされていません。

注:現在リクエストしている max_media_per_upload と photo_size_limit の値を取得するには GET help/configuration を確認下さい。

possibly_sensitive
※オプション
サンプル値:true すべての閲覧者に適切でないコンテンツの場合には true を指定します。
in_reply_to_status_id
※オプション
サンプル値:123 ステータスのアップデートがreply(返信)の場合に、このパラメータで返信先のステータス情報IDを指定します。どのステータスに対するreply(返信)か明示させます。
このパラメータを指定した場合、reply(返信)元ユーザーをフォローしていても、reply(返信)先のユーザーをフォローしていないユーザーのタイムラインにはつぶやきは表示されません。「@username テキストテキスト」と同じ意になります。

reply(返信)先のステータス情報IDが存在しない場合や、非表示設定ユーザーへの場合は無効です。
アップデートステータステキストにはreply(返信)先のユーザー名を「@username」で含めて下さい。

lat
※オプション
サンプル値:37.7821120598956 ステータスアップデート場所の緯度を指定します。有効範囲は北緯が+90.0まで、南緯は-90.0まで、小数点以下8桁まで指定可能です。
有効範囲外の値を指定した場合やlongパラメータが指定されていない場合は無効になります。
long
※オプション
サンプル値:-122.400612831116 ステータスアップデート場所の軽度を指定します。有効範囲は東経が+180.0まで、西経は-180.0まで、小数点以下8桁まで指定可能です。
有効範囲外の値を指定した場合やlatパラメータが指定されていない場合は無効になります。
place_id
※オプション
サンプル値:df51dec6f4ee2b2c 世界の位置情報を指定します。
この ID は GET geo/reverse_geocode で取得することができます。
display_coordinates
※オプション
サンプル値:true ステータスアップデート場所の正確な位置を表示させるかどうか指定する。このパラメータを指定しない場合は true 扱いと同じになり、位置情報は送信されます。
サンプルコード
設定方法

  • -1- tmhOAuth 接続で POST statuses/update_with_media を動作させます。
  • -2- 以下のURLから tmhOAuth ファイルをダウンロードしてください。
    tmhOAuthドキュメント:URL
    tmhOAuthダウンロードファイル:zipファイル
  • -3- ダウンロードが完了したらファイルを解凍してください。解凍すると tmhOAuth-master フォルダが出力されるので、このフォルダごと全てサーバーにアップロードしてください。アップロードは任意の場所で大丈夫です。
    サンプルでは /www.tryphp.net/twitterv11tmhoauth/tmhOAuth-master/・・に解凍フォルダをアップロードしています。
  • -4- 解凍ディレクトリとファイル
    —————————

    1 file LICENSE
    /www.tryphp.net/twitterv11tmhoauth/tmhOAuth-master/LICENSE 
    2 file README.md
    /www.tryphp.net/twitterv11tmhoauth/tmhOAuth-master/README.md
    3 file cacert.pem
    /www.tryphp.net/twitterv11tmhoauth/tmhOAuth-master/cacert.pem
    4 file composer.json
    /www.tryphp.net/twitterv11tmhoauth/tmhOAuth-master/composer.json
    5 file tmhOAuth.php
    /www.tryphp.net/twitterv11tmhoauth/tmhOAuth-master/tmhOAuth.php

    —————————
  • -5- update_with_media_tmh.php というファイル名でファイルを作成し、以下のサンプルコードを記述した上で、twitterアプリケーションの key や token を入力して下さい。
    'consumer_key'    => '******************************',
    'consumer_secret' => '*********************************************',
    'token'      => '*********************************************',
    'secret'     => '*********************************************',
    

  • -6- update_with_media_tmh.phpファイルを /twitterv11tmhoauth/ ディレクトリへアップロードして下さい。
    —————————
    update_with_media_tmh.php
    /www.tryphp.net/twitterv11tmhoauth/update_with_media_tmh.php

    —————————
  • -7- 以上で設定は完了です。
    ブラウザからupdate_with_media_tmh.phpファイルにアクセスして動作させてみてください。
    サンプルではつぶやきフィールドと画像選択フィールドがあります。
サンプルコード

– サンプル Click Here ! –

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta name="robots" content="index">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>TRYPHP! Twitter API V1.1 認証ユーザーのステータス情報をメディアを付け加えて更新します。 POST statuses/update_with_media</title>
</head>
<body>

<?php
#########################################
### ページ説明
?>

<h1>Twitter API V1.1 認証ユーザーのステータス情報をメディアを付け加えて更新します。 POST statuses/update_with_media</h1>
<!-- 説明ページurl -->
<h2><a href="http://www.tryphp.net/2014/02/20/phpapptwitterv11-update_with_media/">→説明はこちら</a></h2>
<hr/>



<?php
//tmhOAuth.phpインクルード
require('./tmhOAuth-master/tmhOAuth.php');

//アップロードファイル
if(!empty($_FILES)){

	//インスタンス作成
	$tmh = new tmhOauth(array(
		'consumer_key' => '******************************',
		'consumer_secret' => '****************************************',
		'token' => '****************************************',
		'secret' => '****************************************'
	));

	//アップロードファイル
	$params = array(
		'media[]' => "@" . $_FILES['picture']['tmp_name'] . ";".
					"type=" . $_FILES['picture']['type'] . ";".
					"filename=" . $_FILES['picture']['name'],
	    'status' => $_POST['tweet']
	);

	$code = $tmh->user_request(array(
		'method' => 'POST',
		'url' => $tmh->url("1.1/statuses/update_with_media"),
		'params' => $params,
		'multipart' => true
	));

	//エラー処理
	if($code != 200){
		echo "<span style=\"color:red\">画像アップロード失敗しました。</span><br/>\n";
		$errors = $tmh->response['error'];
		var_dump($errors);
	//成功
	}else{
		echo "<span style=\"color:red\">画像アップロード成功しました!</span><br/>\n	";
		echo "投稿<a href=\"https://twitter.com/tryphp_test\" target=\"_blank\">tryphp_test</a><br/>\n";
		//結果内容
		print_r(json_decode($tmh->response['response']));
	}

}
?>



<?php
#########################################
### 投稿フォーム
?>

<h1>投稿フォーム</h1>
<form action="update_with_media_tmh.php" method="POST" enctype="multipart/form-data">
画像選択:<input type="file" name="picture"><br>
つぶやき:<textarea name="tweet"></textarea><br>
<input type="submit" value="送信" />
</form>

</body>
</html>

– サンプル Click Here ! –


タグ(=記事関連ワード)

日付

投稿日:2014年2月20日
最終更新日:

関連記事

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

http://www.tryphp.net/phpapptwitterv11-update_with_media/trackback/