auths
objectreturn
or this.key = 'value'
, pass input data to your code viaparams
, and maintain state across executions with$checkpoint.async
(event, steps) => {
}
const TikTokScraper = require('tiktok-scraper');
const RSS = require('rss');
const user = event && event.query && event.query.user
if (user) {
const maxItems = event && event.query && event.query.maxItems
const feed = new RSS({
title: `TikTok user @${user}`,
feed_url: `https://enkrznvkltlz42o.m.pipedream.net?user=${user}`,
site_url: `http://tiktok.com/@${user}`
})
// User feed by username
try {
const posts = await TikTokScraper.user(user, { number: maxItems || 20 });
for(const post of posts.collector) {
feed.item({
guid: post.id,
title: post.text,
description: post.text,
url: post.webVideoUrl,
date: new Date(parseInt(post.createTime, 10) * 1000)
})
}
$respond({
status: 200,
body: feed.xml(),
headers: {
'Content-Type': 'text/xml; charset=utf-8'
}
})
} catch (error) {
console.log('ERROR', error);
$respond({
status: 500,
body: JSON.stringify(error)
})
}
}