使用php发布到tumblr
有人能帮我弄清楚如何使用php发布到tumblr吗。 我试着在谷歌上搜索库或示例代码,但找不到。我在这里能找到的就是这个,它似乎不起作用。我在tumblr网站上查看并尝试了v1API上的代码,但也不起作用使用php发布到tumblr,php,tumblr,Php,Tumblr,有人能帮我弄清楚如何使用php发布到tumblr吗。 我试着在谷歌上搜索库或示例代码,但找不到。我在这里能找到的就是这个,它似乎不起作用。我在tumblr网站上查看并尝试了v1API上的代码,但也不起作用 function post($data){ if(function_exists("curl_version")){ $data["email"] = $this->email;
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";
}
}
感谢您的帮助从从
Tuga提供的api示例对我有用(在Wordpress上)…所以我认为你的问题在别处,而不是提供的示例。如果你们能发布第2版api,我也会非常感激。Tuga提供的api示例对我有用(在Wordpress上)…所以我认为你们的问题在别处,而不是提供的示例。如果你们能发布第2版api,我也会非常感激。我刚刚注意到这是Tumblr的特色,我想说的是:从2012年开始,你应该忽略Tuga的上述回答,因为它不适用于最新的Tumblr api 你需要的是用它建造的
它只是用来读写Tumblr文章的,所以如果你想做更多的事情,你需要修改代码。我用它作为我的代码库。我刚刚注意到这是Tumblr的特色,我想说的是:从2012年开始,您应该忽略Tuga的上述回答,因为它不适用于最新的Tumblr API 你需要的是用它建造的 它只是用来读写Tumblr文章的,所以如果你想做更多的事情,你需要修改代码。我用它作为我的代码库 此代码将允许您使用TumblrAPI发布到您的tumblr博客 我希望这段代码有帮助 此代码将允许您使用TumblrAPI发布到您的tumblr博客
我希望这段代码能有所帮助。总是阅读官方文档,通常位于官方网站,总是阅读官方文档,通常位于官方网站,这似乎不起作用。。。tumblr已将身份验证过程更改为包含oauth。。。我已经试过了。。。。不过,感谢您的努力和帮助,我感谢您的响应。thumblr现在似乎正在使用API v2,我没有找到脚本,但我设法找到了一些好的文档。如果你找到一个解决方案,请张贴在这里,以备将来的帮助,我也会这样做。GL:)我找到了一个,一个用python编写的简单的Tumblr API v2库,看看你是否能使用它,它非常新(2011年8月4日)。Tumblr现在已经禁用了他们的旧API(v1),所以这将不再有效。这似乎不起作用。。。tumblr已将身份验证过程更改为包含oauth。。。我已经试过了。。。。不过,感谢您的努力和帮助,我感谢您的响应。thumblr现在似乎正在使用API v2,我没有找到脚本,但我设法找到了一些好的文档。如果你找到一个解决方案,请张贴在这里,以备将来的帮助,我也会这样做。GL:)我找到了一个,一个用python编写的简单的Tumblr API v2库,看看你是否能使用它,它非常新(2011年8月4日)。Tumblr现在已经禁用了他们的旧API(v1),所以它不再工作了。你是如何编写它的?您是否可以将其发布到此处,以便我们提供帮助。您缺少OAuth类。您需要确保您的php版本已启用OAuth扩展。您是如何尝试对其进行编码的?您是否可以将其发布到此处以便我们提供帮助。您缺少OAuth类。您需要确保您的php版本已启用OAuth扩展。
// 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!';
}