我需要遍历我在Tumblr上的所有现有帖子并向每个帖子添加文本(URL),但Tumblr群发编辑器只允许大量添加标签。
如何使用API执行我需要执行的操作(似乎没有以这种方式使用API进行编辑的示例)?
PHP或Ruby很好。
答案 0 :(得分:0)
不,没有。 API没有提供一次编辑所有帖子的方法。你必须一次做到这一点。
您可以通过posts method api.tumblr.com/v2/blog/{blog-identifier}/posts?api_key={key}
检索帖子列表,一次最多可返回20个帖子。您可以指定offset
参数,以便在到达结尾之前继续提取更多帖子。
$requestURI = "http://api.tumblr.com/v2/blog/$blogId/posts?api_key=$APIkey&offset=%d";
if ($response = file_get_contents(sprintf($requestURI, 0))) {
$data = json_decode($response);
$posts = $data["response"]["posts"];
$totalPosts = $data['total_posts'];
$gotPosts = count($posts);
while($gotPosts < $totalPosts) {
$offset = $totalPosts - $gotPosts;
$response = file_get_contents(sprintf($requestURI, $offset));
$data = json_decode($response);
$posts = array_merge($posts, $data["response"]["posts"]);
$gotPosts = count($posts);
}
}
一旦您为给定的Tumblelog累积了所有帖子的列表,您就可以迭代它们并通过edit method api.tumblr.com/v2/blog/{blog-identifier}/post/edit
进行编辑。
foreach($posts as $post) {
/* do your edit posts here */
}