Может ли кто-нибудь помочь мне выяснить, как отправлять сообщения в tumblr, используя php. Я пробовал искать в библиотеке или образце код, но не смог найти его. все, что я могу найти, это здесь https://github.com/alexdunae/tumblr-php/blob/master/Tumblr.php, и он, похоже, не работает, и я посмотрел и попробовал код на v1 api на веб-сайте tumblr, который не работает или ….
function post($data){ if(function_exists("curl_version")){ $data["email"] = $this->email; $data["password"] = $this->password; $data["generator"] = $this->generator; $request = http_build_query($data); $c = curl_init('http://www.tumblr.com/api/write'); curl_setopt($c,CURLOPT_POST,true); curl_setopt($c,CURLOPT_POSTFIELDS,$request); curl_setopt($c,CURLOPT_RETURNTRANSFER,true); $return = curl_exec($c); $status = curl_getinfo($c,CURLINFO_HTTP_CODE); curl_close($c); if($status == "201"){ return true; } elseif($status == "403"){ return false; } else{ return "error: $return"; } } else{ return "error: cURL not installed"; } }
Спасибо за помощь
Я просто заметил, что это проявляется как Featured для Tumblr, и я хочу сказать следующее: с 2012 года вам следует проигнорировать вышеупомянутый ответ Tuga, потому что он НЕ работает с новейшим API Tumblr.
Вам нужен TumblrOAuth, который построен из OAuth Sandbox .
Это только настройка для чтения и записи сообщений Tumblr, поэтому, если вы хотите сделать больше, вам нужно будет изменить код. Я использовал его как свою базу кода для Followr .
Украден из http://www.tumblr.com/docs/en/api
// Authorization info $tumblr_email = 'info@davidville.com'; $tumblr_password = 'secret'; // Data for new record $post_type = 'regular'; $post_title = 'The post title'; $post_body = 'This is the body of the post.'; // Prepare POST request $request_data = http_build_query( array( 'email' => $tumblr_email, 'password' => $tumblr_password, 'type' => $post_type, 'title' => $post_title, 'body' => $post_body, 'generator' => 'API example' ) ); // Send the POST request (with cURL) $c = curl_init('http://www.tumblr.com/api/write'); curl_setopt($c, CURLOPT_POST, true); curl_setopt($c, CURLOPT_POSTFIELDS, $request_data); curl_setopt($c, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($c); $status = curl_getinfo($c, CURLINFO_HTTP_CODE); curl_close($c); // Check for success if ($status == 201) { echo "Success! The new post ID is $result.\n"; } else if ($status == 403) { echo 'Bad email or password'; } else { echo "Error: $result\n"; } ?>
$conskey = "CONSUMER KEY"; $conssec = "CONSUMER SECRET"; $tumblr_blog = "myblog.tumblr.com"; $to_be_posted = "This is the text to be posted"; $oauth = new OAuth($conskey,$conssec); $oauth->fetch("http://api.tumblr.com/v2/blog/".$tumblr_blog."/post", array('type'=>'text', 'body'=>$to_be_posted), OAUTH_HTTP_METHOD_POST); $result = json_decode($oauth->getLastResponse()); if($result->meta->status == 200){ echo 'Success!'; }
Этот код позволит вам публиковать в своем блоге tumblr с помощью tumblr API.
Надеюсь, этот код поможет.
Пример api, предоставленный Tuga, работает для меня (на WordPress) … поэтому я думаю, что ваша проблема кроется в другом месте, а не с предоставленным примером. Я также был бы очень благодарен, если бы вы, ребята, работали над версией 2 api, если бы вы могли опубликовать ее.