グループのオンラインユーザー、携帯電話、禁止および削除された国、VK.comでの最後のユーザーを取得するための小さなガジェットを作成しました。

私自身の関心のために、コミュニティメンバーに関する情報を取得できる小さなスクリプトを作成しました。
彼の開発では、
executeとVKScriptを使用しました。 実行からテキストフィールドのみを受け入れることができ、文字列から翻訳する必要があったことは非常に悪いことです。 すべてのユーザーが持っているわけではないフィールドについては、「,,,,, 1,4 ,,,,,,,, 5.54 ,,,,, 5.4 ,,,,, 3 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 、、」。 「.match(/ \ d + / g)」を適用しました。
応答配列からパラメーターを受け取るには、VKScriptに@を使用してアクセスする必要があります(例:arrMembers @ .last_seen @ .time)。
実際、彼は次のように出てきました。
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];
少数の参加者がいるグループ、たとえばHabréではゆっくりと動作します。
デモ:
romkagolovadvayha.imtqy.com/vk-analiz-groupGithub:
github.com/romkagolovadvayha/romkagolovadvayha.imtqy.com/tree/master/vk-analiz-group使用済み:
angular.js(
CRMシステムに 最適 ):
github.com/angular/angular.jsangular-chart.js:
github.com/jtblin/angular-chart.jsブートストラップ:
github.com/twbs/bootstrapアルゴリズムは、前の記事から完成しました:
habrahabr.ru/post/248725