Informationen zu Mitgliedern der Vkontakte-Community online

    Ich habe ein kleines Gadget geschrieben, um Online-Benutzer einer Gruppe von Handys aus, aus gesperrten und gelöschten Ländern und als sie das letzte Mal auf VK.com waren, online zu bringen.

    Bild

    Aus eigenem Interesse habe ich ein kleines Skript geschrieben, mit dem Sie Informationen über Community-Mitglieder erhalten können.

    In seiner Entwicklung verwendete er Execute und VKScript. Es ist sehr schlimm, dass ich von execute nur Textfelder akzeptieren konnte, die ich aus einem String übersetzen musste. Was die Felder betrifft, die nicht alle Benutzer haben, gab es so etwas wie ",,,,, 1,4 ,,,,,,, 5,54 ,,,, 5,4 ,,,,, 3 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,, ". Angewandte ".match (/ \ d + / g)".

    Um einen Parameter aus dem Antwortarray zu akzeptieren, muss mit @ auf VKScript zugegriffen werden (Beispiel: arrMembers @ .last_seen @ .time).

    Eigentlich ist er so herausgekommen:

    var arrMembers = API.groups.getMembers({"group_id": group_id, "v": "5.27", "sort": "id_asc", "fields": "online,online_mobile,last_seen,country", "count": "1000", "offset": 0}).items;
    var membersLastSeenTime = arrMembers@.last_seen@.time;
    var membersOnline = arrMembers@.online;
    var membersOnlineMobile = arrMembers@.online_mobile;
    var membersCountry = arrMembers@.country@.id;
    var membersDeactivated = arrMembers@.deactivated;
    var offset = 1000;
    while (offset < 25000 && (offset + memberOnline.length) < members_count)
    {
    	arrMembers = API.groups.getMembers({"group_id": group_id, "v": "5.27", "sort": "id_asc", "fields": "online,online_mobile,last_seen,country", "count": "1000", "offset": (memberOnline.length + offset)}).items;
    	membersOnline = membersOnline + "," + arrMembers@.online;
    	membersLastSeenTime = membersLastSeenTime + "," + arrMembers@.last_seen@.time;
    	membersOnlineMobile = membersOnlineMobile + "," + arrMembers@.online_mobile;
    	membersCountry = membersCountry + "," + arrMembers@.country@.id;
    	membersDeactivated = membersDeactivated + "," + arrMembers@.deactivated;
    	offset = offset + 1000;
    };
    return [membersOnline, membersOnlineMobile, membersLastSeenTime, membersCountry, membersDeactivated];
    

    Es funktioniert schnell in Gruppen mit einer kleinen Teilnehmerzahl, zum Beispiel auf Habré langsam.

    Demo: romkagolovadvayha.github.io/vk-analiz-group
    Github: github.com/romkagolovadvayha/romkagolovadvayha.github.io/tree/master/vk-analiz-group

    Gebraucht:
    Angularjs (Groß für ein CRM - System ): Github .com / Schräg / Angularjs
    Angular-chart.js: github.com/jtblin/angular-chart.js
    den Bootstrap: github.com/twbs/bootstrap
    Algorithmus aus einem früheren Artikel geändert hat: habrahabr.ru/post/248725

    Jetzt auch beliebt: