Мне нужно перебрать все мои существующие сообщения на моем Tumblr и добавить текст к каждому (URL), но массовый редактор Tumblr позволяет только добавлять теги в массовом порядке.
Как я могу использовать API, чтобы делать то, что мне нужно (нет примеров использования API для редактирования)?
PHP или Ruby в порядке.
Нет, нет API не предоставляет возможность редактировать все сообщения одновременно. Вы должны сделать это по одному.
Вы можете получить список ваших сообщений через метод сообщений 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, вы можете перебирать их и редактировать каждое через метод редактирования api.tumblr.com/v2/blog/{blog-identifier}/post/edit
,
foreach($posts as $post) {
/* do your edit posts here */
}
Других решений пока нет …