※この情報は 2012 年 1 月現在のものです。仕様が変更される可能性は充分にあるので、ご了承ください。
OAuth を使った認証の流れは tumblr. に文字を post する を参照。
post する
下記の php をアプリのディレクトリにアップする(予め tmp ディレクトリを 707 で作っておく)
<?php
// 一度自分のサーバにアップ
$uploaddir = './tmp/';
$photo = $uploaddir. basename($_FILES['img']['name']);
$path = 'アプリのあるドメイン'. 'tmp/'. basename($_FILES['img']['name']); // full path
move_uploaded_file($_FILES['img']['tmp_name'], $photo);
require_once 'HTTP/OAuth/Consumer.php';
$consumer_key = 'xxxxxxxxxxxxxxxx'; // 以前のエントリーで確認した OAuth Consumer Key
$consumer_secret = 'xxxxxxxxxxxxxxxx'; // 以前のエントリーで確認した Secret Key
$access_token = 'xxxxxxxxxxxxxxxx'; // 以前のエントリーで取得した access_token
$access_token_secret = 'xxxxxxxxxxxxxxxx'; // 以前のエントリーで取得した access_token_secret
$http_request = new HTTP_Request2();
$http_request->setConfig('ssl_verify_peer', false);
$consumer = new HTTP_OAuth_Consumer($consumer_key, $consumer_secret);
$consumer_request = new HTTP_OAuth_Consumer_Request;
$consumer_request->accept($http_request);
$consumer->accept($consumer_request);
$consumer->setToken($access_token);
$consumer->setTokenSecret($access_token_secret);
$params = array(
'type' => 'photo',
'source' => $path,
'caption' => 'テスト' // post する本文
);
$api_url = 'http://www.tumblr.com/api/write';
$response = $consumer->sendRequest($api_url, $params);
// 自分のサーバにアップした画像を削除
unlink($photo);
echo "<script type='text/javascript'>alert('画像「". $_FILES['img']['tmp_name']. "」をpostしました!');</script>\n";
?>
// 一度自分のサーバにアップ
$uploaddir = './tmp/';
$photo = $uploaddir. basename($_FILES['img']['name']);
$path = 'アプリのあるドメイン'. 'tmp/'. basename($_FILES['img']['name']); // full path
move_uploaded_file($_FILES['img']['tmp_name'], $photo);
require_once 'HTTP/OAuth/Consumer.php';
$consumer_key = 'xxxxxxxxxxxxxxxx'; // 以前のエントリーで確認した OAuth Consumer Key
$consumer_secret = 'xxxxxxxxxxxxxxxx'; // 以前のエントリーで確認した Secret Key
$access_token = 'xxxxxxxxxxxxxxxx'; // 以前のエントリーで取得した access_token
$access_token_secret = 'xxxxxxxxxxxxxxxx'; // 以前のエントリーで取得した access_token_secret
$http_request = new HTTP_Request2();
$http_request->setConfig('ssl_verify_peer', false);
$consumer = new HTTP_OAuth_Consumer($consumer_key, $consumer_secret);
$consumer_request = new HTTP_OAuth_Consumer_Request;
$consumer_request->accept($http_request);
$consumer->accept($consumer_request);
$consumer->setToken($access_token);
$consumer->setTokenSecret($access_token_secret);
$params = array(
'type' => 'photo',
'source' => $path,
'caption' => 'テスト' // post する本文
);
$api_url = 'http://www.tumblr.com/api/write';
$response = $consumer->sendRequest($api_url, $params);
// 自分のサーバにアップした画像を削除
unlink($photo);
echo "<script type='text/javascript'>alert('画像「". $_FILES['img']['tmp_name']. "」をpostしました!');</script>\n";
?>
「引用」以外で必要な項目は公式ページを参考に。
Tumblr API v1 | Tumblr
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.