npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

likee-api-wrapper

v1.0.1

Published

Враппер Likee API

Downloads

5

Readme

likee-api-wrapper

Враппер Likee API

Установка

  • npm - npm install likee-api-wrapper
  • yarn - yarn add likee-api-wrapper

Пример использования

const likee = require("likee-api-wrapper")

let trendingVideos = await likee.getSquareVideos({
    language: "ru",
    country: "RU"
})

console.log(trendingVideos.data.videoList) // [ {...}, {...}, {...} ]

Методы

Likee.getVideoInfoURL(url)

  • Получение информации о видео через URL.
const url = "https://l.likee.video/v/IvliLU"
await likee.getVideoInfoURL(url) // { post_id: "7241964767279301831", ... }

Likee.download(url)

  • Скачать видео через URL.
const url = "https://l.likee.video/v/IvliLU"
await likee.download(url) // { type: "video" || "photo", result: { url: "...", buffer: Buffer } }

В случае, если видео состоит из картинок, в result возвращается массив с картинками.

Likee.getSquareVideos(params?)

Получить рекомендованные видео.

const params = { 
    language: "en", 
    country: "US", 
    startNum: 200, 
    fetchNum: 10, 
    lastPostId: "", 
    uid: "1", 
    deviceId: "1", 
    scene: "WELOG_POPULAR",
    cookie: ""
}

await likee.getSquareVideos(params) // { code: 0, data: { videoList: [ {...}, {...}, {...} ], dispatchId: null, userInfo: { uid: "...", deviceId: "...", cookie: "..." }, login: true | false }, message: "ok" }

Можно передать cookie.

Likee.getVideoInfo(params)

Получить информацию о видеороликах через их ID.

const params = {
    postIds: "7241964767279301831" // Можно указывать несколько ID через запятую.
}

await likee.getVideoInfo(params) // { code: 0, data: { videoList: [ [ {...} ] ] }, message: "ok" }

Likee.getCountry()

Получить страну.

await likee.getCountry() // { code: 0, data: { country: "..." }, message: "ok" }

Likee.getProducerList(params?)

Получить список популярных продюсеров в какой-либо стране.

const params = {
    type: 0,
    country: "US"
}

await likee.getProducerList(params) // { code: 0, data: { country: "US", items: [ {...}, {...}, {...} ] }, message: "ok" }

Likee.getRecommendHashtag(params?)

Получить список популярных хэштегов.

const params = {
    language: "en",
    page: 1,
    pagesize: 10,
    country: "US"
}

await likee.getRecommendHashtag(params) // { code: 0, data: { eventList: [ {...}, {...}, {...} ], lastPostId: "..." }, message: "ok" }

Likee.getProfileDetail(params)

Получить информацию о профиле.

const params = {
    likeeId: "Likee_Russia"
}

await likee.getProfileDetail(params) // { code: 0, data: {...}, message: "ok" }

Likee.getUserVideo(params?)

Получить список видеороликов пользователя.

const params = {
    uid: "30004", 
    count: 30, 
    lastPostId: "", 
    tabType: 0
}

await likee.getUserVideo(params) // { code: 0, data: { otherValue: {...}, videoList: [ {...}, {...}, {...} ] }, message: "ok" }

Likee.getVideoComment(params)

Получить комментарии под видеороликом.

const params = {
    post_id: "7241964767279301831", 
    page_size: 20, 
    last_comment_id: "0", 
    lang: "en"
}

await likee.getVideoComment(params) // { code: 0, data: [ {...}, {...}, {...} ], message: "ok" }

Likee.getTopicDetail(params)

Получить информацию о хэштеге.

const params = {
    hashtag: "Learn",
    lang: "en"
}

await likee.getTopicDetail(params) // { code: 0, data: {...}, message: "ok" }

Likee.getEventVideo(params)

Получить видео из хэштега.

const params = {
    topicId: "6455572190651759415", 
    page: 1, 
    pageSize: 30, 
    country: "US"
}

await likee.getEventVideo(params) // { code: 0, data: { videoList: [ {...}, {...}, {...} ] }, message: "ok" }

Likee.searchUser(params)

Поиск пользователей по запросу.

const params = {
    keyword: "Likee",
    start: 0,
    limit: 5,
    countryCode: "US"
}

await likee.searchUser(params) // { code: 0, data: { userList: [ {...}, {...}, {...} ] }, message: "ok" }

Likee.searchTopic(params)

Поиск хэштегов по запросу.

const params = {
    keyword: "Likee",
    start: 0,
    limit: 5,
    countryCode: "US"
}

await likee.searchTopic(params) // { code: 0, data: { hashtagList: [ {...}, {...}, {...} ] }, message: "ok" }

Likee.searchMusic(params)

Поиск музыки по запросу.

const params = {
    query: "Likee",
    from: 0,
    limit: 5
}

await likee.searchMusic(params) // { code: 0, data: { musics: [ {...}, {...}, {...} ] }, message: "ok" }

Likee.searchVideo(params)

Поиск видео по запросу.

const params = {
    keyword: "Likee",
    start: 0,
    limit: 5,
    countryCode: "US"
}

await likee.searchVideo(params) // { code: 0, data: { videoList: [ {...}, {...}, {...} ] }, message: "ok" }

Likee.quickSearch(params)

Быстрый поиск по запросу.

const params = {
    keyword: "Likee"
}

await likee.quickSearch(params) // { code: 0, data: { hashtagList: [ {...}, {...}, {...} ], userList: [ {...}, {...}, {...} ], musicList: [ {...}, {...}, {...} ] }, message: "ok" }

Likee.getMusicDetail(params)

Получить информацию о музыке.

const params = {
    musicId: ""
}

await likee.getMusicDetail(params) // { code: 0, data: {...}, message: "ok" }

Likee.getMusicVideo(params)

Получить видео с указанной музыкой.

const params = {
    musicId: "",
    page: 1, 
    pageSize: 30
}

await likee.getMusicVideo(params) // { code: 0, data: { videoList: [ {...}, {...}, {...} ] }, message: "ok" }

Likee.getCountryArticle(params?)

Получить статьи из блога.

const params = {
    country: "RU", 
    lastArticleId: 0, 
    fetchNum: 20, 
    fetchTop: 1
}

await likee.getCountryArticle(params) // { code: 0, data: { topArticleList: [ {...}, {...}, {...} ], articleList: [ {...}, {...}, {...}  ] }, message: "ok" }

Likee.getTagDetail(params?)

Получить информацию о тэге из блога.

const params = {
    tagName: "Продукт",
    country: "RU"
}

await likee.getTagDetail(params) // { code: 0, data: { tagInfo: { ... } }, message: "ok" }

Likee.getTagArticle(params?)

Получить статьи из тэга из блога.

const params = {
    country: "RU", 
    lastArticleId: 0, 
    tagId: 8,
    fetchNum: 20, 
    fetchTop: 1
}

await likee.getTagArticle(params) // { code: 0, data: { topArticleList: [ {...}, {...}, {...} ], articleList: [ {...}, {...}, {...}  ] }, message: "ok" }

Likee.getCountryTag(params?)

Получить список тэгов из блога определённой страны.

const params = {
    country: "RU"
}

await likee.getCountryTag(params) // { code: 0, data: { tagList: [ {...}, {...}, {...} ] }, message: "ok" }

Likee.getArticleDetail(params?)

Получить описание какой-либо статьи из блога.

const params = {
    articleName: "Обновление-Как-создать-слайдшоу-в-Likee",
    country: "ru"
}

await likee.getArticleDetail(params) // { code: 0, data: { articleInfo: {...} }, message: "ok" }

Likee.getLikeIdInfoH5(params)

Получить немного информации о пользователе.

const params = {
    likeid: "Likee_Russia",
}

await likee.getLikeIdInfoH5(params) // { result: 0, userinfo: {...} }

Likee.getIsCharged(params)

Получить непонятную статистику.

const params = {
    uid: 30004
}

await likee.getIsCharged(params) // { result: 0, isCharged: 0 }

Likee.getTreeH5(params)

Получить список платёжных средств.

const params = {
    uid: 30004,
    country: "RU"
}

await likee.getTreeH5(params) // { result: 0, errorMsg: "success", data: [ {...}, {...}, {...} ], t: 0.2 }

Likee.getCountries(params)

Получить список доступных стран.

const params = {
    uid: 30004
}

await likee.getCountries(params) // { result: 0, data: [ {...}, {...}, {...} ], msg: "ok" }

Likee.getPayH5(params)

Получить ссылку на оплату товара.

const params = {
    uid: 30004,
    id: 778,
    product_id: 4450009,
    loc: ""
}

await likee.getPayH5(params) // { result: 0, errorMsg: "success", pay_url: "..." }

Likee.loginByEmailAndPwd(params)

Авторизироваться через email.

const params = {
    deviceId: "Example",
    account: "[email protected]",
    password: "133337",
    countryCode: "RU",
    lang: "en"
}

await likee.loginByEmailAndPwd(params) // { code: 0, data: { uid: "...", cookie: "...", deviceId: "...", newUser: true | false }, message: "ok" }

Отсюда вам необходимо брать cookie для некоторых методов. Или из loginByTelAndPwd.

Likee.loginByTelAndPwd(params)

Авторизироваться через номер телефона.

const params = {
    deviceId: "Example",
    account: "+79630940599",
    password: "133337",
    countryCode: "RU",
    lang: "en"
}

await likee.loginByTelAndPwd(params) // { code: 0, data: { uid: "...", cookie: "...", deviceId: "...", newUser: true | false }, message: "ok" }

Отсюда вам необходимо брать cookie для некоторых методов. Или из loginByEmailAndPwd.

Likee.getUserInfo(params)

Получить информацию о пользователе.

const params = {
    uid: "30004"
}

await likee.getUserInfo(params) // { code: 0, data: {...}, message: "ok" }

Likee.getLikePost(params)

Фильтрует список, который вы передаёте так, что в нём остаются только видео, которые вы лайкнули.

const params = {
    postIds: [30004, 228, 666],
    cookie: "...",
    deviceId: "...",
    uid: "..."
}

await likee.getLikePost(params) // {code: 0, data: { followUidList: [ {...}, {...}, {...} ] }, message: "ok"}

Данный метод требует cookie!

Likee.getFollowStatus(params)

Фильтрует список, который вы передаёте так, что в нём остаются только те, на кого вы подписаны.

const params = {
    uidList: [30004, 228, 666],
    cookie: "...",
    deviceId: "...",
    uid: "..."
}

await likee.getFollowStatus(params) // {code: 0, data: { followUidList: [ {...}, {...}, {...} ] }, message: "ok"}

Данный метод требует cookie!

Likee.getEventFollowStatus(params)

Фильтрует список, который вы передаёте так, что в нём остаются только те, на какие хэштэги вы подписаны.

const params = {
    eventIdList: [30004, 228, 666],
    cookie: "...",
    deviceId: "...",
    uid: "..."
}

await likee.getEventFollowStatus(params) // {code: 0, data: { followEventIdList: [ {...}, {...}, {...} ] }, message: "ok"}

Данный метод требует cookie!

Likee.checkCookie(params)

Проверка ваших cookie.

const params = {
    cookie: "...",
    deviceId: "...",
    uid: "..."
}

await likee.checkCookie(params) // {code: 0, data: null, message: null}

Данный метод требует cookie!

Likee.followUser(params)

Подписаться на чей-то аккаунт.

const params = {
    cookie: "...",
    deviceId: "...",
    uid: "...",
    followUid: "30004",
    type: 1 // 1 - подписаться, 0 - отписаться
}

await likee.followUser(params) // {code: 0, data: null, message: null}

Данный метод требует cookie!

Likee.followEvent(params)

Подписаться на хэштег.

const params = {
    cookie: "...",
    deviceId: "...",
    uid: "...",
    eventId: "30004",
    followType: 1 // 1 - подписаться, 0 - отписаться
}

await likee.followUser(params) // {code: 0, data: null, message: null}

Данный метод требует cookie!

Likee.likeVideo(params)

Поставить лайк на видео.

const params = {
    cookie: "...",
    deviceId: "...",
    uid: "...",
    postId: "30004",
    type: 1 // 1 - подписаться, 0 - отписаться
}

await likee.likeVideo(params) // {code: 0, data: null, message: null}

Данный метод требует cookie!

Likee.getUploadVideoToken()

Получение BIGO-токена для опубликовки видео.

await likee.getUploadVideoToken() // {code: 0, data: { token: "BIGO ..." }, message: "ok"}

Отсюда потребуется токен для Likee.bigoNew()

Likee.bigoNew(params)

Опубликовать видео на сервера Bigo.

const params = {
    file: ReadStream,
    filename: "example.mp4",
    Authorization: "BIGO ..."
}

await likee.bigoNew(params) // { md5: "...", mime: "...", size: "...", ts: "...", url: "https://gdl.like.video/..." }

Отсюда потребуется url для Likee.saveVideo().

Likee.saveVideo(params)

Сохранить загруженное видео в профиль.

const params = {
    cookie: "...",
    uid: "...",
    urls: "https://gdl.like.video/...",
    descriptions: "Test!"
}

await likee.saveVideo(params) // { code: 0, data: null, message: null }

Данный метод требует cookie!

Likee.topSearch()

Получить что-то вроде топа.

await likee.topSearch() // { code: 0, data: { tagsList: [] }, message: "ok" }

Likee.getUserPostNum(params)

Получить информацию о лайках пользователя.

const params = {
    uid: "30004"
}

await likee.getUserPostNum(params) // { code: 0, data: { postInfoMap: {...} }, message: "ok" }

Likee.sendDownloadSms(params)

Отправить ссылку на скачку Likee на номер телефона

const params = {
    telephone: "...",
    lang: "ru"
}

await likee.sendDownloadSms(params) // ???

Во время тестов, мне выдавалась ошибка { code: 60005, data: null, message: 'frequency' }.

Полезные ссылки

Идеи

  • Сохранение cookie в памяти (до входа)
  • Написать примеры

Интересные факты

  • Данный враппер изначально подразумевался как модуль по скачке видео с Likee.
  • Автор этого модуля немного перепил и помимо базы вставил ещё роуты платёжки и блога.