TikTok API

by Vladimir Sobolev

JavaScript

// Оригинальная референс страница https://www.tiktok.com/share/video/6694717157290282246?langCountry=en

$(function() {

			// Оверрайд UA для тестового запроса // гугл прокси использует этот UA
		    setUserAgent(window, "Mozilla/5.0 (compatible) Feedfetcher-Google; (+http://www.google.com/feedfetcher.html)");
			
			// Тестовый ID поста 
		    var pid = '6691465450267610374';
			
			// Генерируем подпись
		    var sign = generate_signature(pid);

		    console.log(sign);

			// Гугл прокси для CORS AJAX запроса
		    gproxy('https://m.tiktok.com/share/item/comment/list?id=' + pid + '&count=48&cursor=0&_signature=' + sign, function(json) {
		        console.log(json);
		    });


		});

var DEBUG = {};

		function generate_signature(pid) {

		    var e = {};

		    function x() {

		        function e(e, a, r) {
		            return (b[e] || (b[e] = t("x,y", "return x " + e + " y")))(r, a)
		        }

		        function a(e, a, r) {
		            return (k[r] || (k[r] = t("x,y", "return new x[y](" + Array(r + 1).join(",x[++y]").substr(1) + ")")))(e, a)
		        }

		        function r(e, a, r) {
		            var n, t, s = {},
		                b = s.d = r ? r.d + 1 : 0;
		            for (s["$" + b] = s, t = 0; t < b; t++) s[n = "$" + t] = r[n];
		            for (t = 0, b = s.length = a.length; t < b; t++) s[t] = a[t];
		            return c(e, 0, s)
		        }

		        function c(t, b, k) {
		            function u(e) {
		                v[x++] = e
		            }

		            function f() {
		                return g = t.charCodeAt(b++) - 32, t.substring(b, b += g)
		            }

		            function l() {
		                try {
		                    y = c(t, b, k)
		                } catch (e) {
		                    h = e, y = l
		                }
		            }

		            for (var h, y, d, g, v = [], x = 0;;) {
						g = t.charCodeAt(b++) - 32;
						//console.log(g);
		                switch (g) {
		                    case 1:
		       ...