tumblrからtumblrに移行する
ログインできる状態なら、エクスポートもできるので以下よりもっと良い道があると思う
ソースごと持ってこられるのがgoの良いところなので実装しようかとも思ったが、まずgoに慣れてないので面倒
リポジトリ上では直ってるのに
手元でビルドして使っても良かったが、JSで書いた方が早そうだったのでそうすることにした なんでみんなlike周りが疎かなんだ
この場合、要は他人のブログのlikeをぶっこ抜くようなイメージなので、そのブログのlikeが公開されている必要がある
code:js
var tumblr = require('tumblr.js');
var client = tumblr.createClient({
credentials: {
consumer_key: 'xxx',
consumer_secret: 'xxx',
token: 'xxx',
token_secret: 'xxx'
},
returnPromises: true,
});
async function likeAll(after) {
const resp = await client.blogLikes("zakuni.tumblr.com", {"limit":20, "after":after})
if(resp.liked_posts.length > 0) {
resp.liked_posts.sort((a, b) => {
return a.liked_timestamp - b.liked_timestamp
});
await (async () => {
for(const post of resp.liked_posts) {
// console.log(before ${post.liked_timestamp});
await client.likePost(post.id, post.reblog_key);
console.log(liked until ${post.liked_timestamp});
}
})();
// この辺適当
} else {
return after;
}
}
(async () => {
const last_timestamp = await likeAll(1)
// この辺も適当
console.log(last_timestamp);
})();
APIの制限で1000req/hour かつ 5000req/day とかなので、数日かけて行う必要があろう
1000like/dayという制限もあるようだ