Teams數據統計 - 用戶在線離線狀態

前幾天我在wechat的moments里看到以為朋友發了騰迅會議的對用戶個人的年度數據統計,看上去很有大數據感。

TeamsStatistics?TeamsStatistics?TeamsStatistics

?

?

?

實際上 Teams 也具備的類似的能力,只是它把這個能力開放給了開發人員,我們可以通過強大的 Graph API,獲取大量的數據信息(當然,為了保證數據安全,你的app必須獲得 tenant 管理員的同意)。

我接下來的幾篇文章就集中介紹一下如何獲取這些信息,有興趣的開發者可以輕松使用這些 api 來提供用戶的數據統計功能。

我們這篇文章先來介紹一下用戶在線離線狀態 presence。

獲取某一個用戶的狀態

GET /users/{id}/presence

獲取多個用戶的狀態

POST /communications/getPresencesByUserIdRequest body:
{"ids": ["fa8bf3dc-eca7-46b7-bad1-db199b62afc3", "66825e03-7ef5-42da-9069-724602c31f6b", ... ]
}

這兩個 api 都需要一個權限?Presence.Read.All。下面是api的返回內容:

{"value": [{"id": "fa8bf3dc-eca7-46b7-bad1-db199b62afc3","availability": "Busy","activity": "InAMeeting"},{"id": "66825e03-7ef5-42da-9069-724602c31f6b","availability": "Away","activity": "Away"}]
}

可以看到 teams 把用戶的狀態做的很細,有兩個字段?availability?和?activity

  • availability?可能的值有:Available, AvailableIdle, Away, BeRightBack, Busy, BusyIdle, DoNotDisturb, Offline, PresenceUnknown
  • activity?可能的值有:Available, Away, BeRightBack, Busy, DoNotDisturb, InACall, InAConferenceCall, Inactive, InAMeeting, Offline, OffWork, OutOfOffice, PresenceUnknown, Presenting, UrgentInterruptionsOnly

這么多值,分別代表什么意思呢?在Teams里這些狀態如下表:

User configuredApp configured
AvailableAvailable
Available, Out of Office. (當用戶設置了自動回復功能,Teams就會設置成Out of office狀態)
BusyBusy
In a call
In a meeting
On a call, out of office
Do not disturb
Presenting
Focusing. 當用戶在我們的日歷里設置了focus時間,Teams 就會顯示這個狀態
AwayAway
Away Last Seen?time
Be right back
Appear offlineOffline. 當用戶沒有在任何設備登入,幾分鐘后就會顯示這個狀態
Status unknown
Out of Office

知道了這些,各位是不是已經在心里有這個統計 app 的想法了?比如可以弄一個 Azure Function,并且使用 timer trigger,每隔幾分鐘或者幾小時,就調用上面的 api,來獲取公司里用戶的狀態,然后保存到數據庫中,后面的統計就可以從數據庫里 query 了,當然為了統計的效率,可能需要對數據存儲做一些優化,比如某個用戶的狀態如果沒有變化,就不重復記錄。統計時也可能需要一些復雜的 sql 語句。不過一旦你有了用戶在線離線的數據,統計則是水到渠成的事情了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/277887.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/277887.shtml
英文地址,請注明出處:http://en.pswp.cn/news/277887.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

我們是如何通過全球第一免費開源ERP Odoo做到項目100%交付

傳統友商ERP的交付過程 一、先初步需求調研,后選型功能模塊 傳統友商ERP第一件事情先對客戶方進行初步的調研,客戶方無論說什么,友商聽過算過,只關心你人數多少,有哪些人涉及到哪些模塊,接著對模塊進行所謂…

HDU 4747 Mex

4747 思路: 線段樹 先求出mex(1,1), mex(1, 2) , mex(1,3),...,mex(1,n)(單調上升),先將這些mex放進線段樹里求和 然后再求出next[i]表示下一次出現a[i] 的位置 然后從前…

Teams數據統計 - 通話記錄

上篇文章介紹了如何獲取用戶的在線狀態,這篇文章我們記錄介紹如何統計用戶通話記錄。 首先,Teams為了安全,它要求 app 要有 CallRecords.Read.All 權限。然后就可以通過這個api來獲取 call record。 GET /communications/callRecords/{id}這…

linux下mysql的數據庫簡單備份腳本

應用于整個庫的備份。 #!/bin/bash PATH$PATH:/usr/local/mysql/bin:/usr/local/mysql/sbin # 數據庫名稱 databases(myname) # 備份目錄 basepath/home/databak/ cd $basepath if [ ! -d "$basepath" ]; thenmkdir -p "$basepath" fi#遍歷數據庫名稱 for …

解決JS浮點數(小數)計算加減乘除的BUG

2019獨角獸企業重金招聘Python工程師標準>>> //浮點數減法運算function FloatSub(arg1,arg2){var r1,r2,m,n;try{r1arg1.toString().split(".")[1].length}catch(e){r10}try{r2arg2.toString().split(".")[1].length}catch(e){r20}mMath.pow(10…

Teams數據統計 - 聊天消息

前兩篇文章介紹了如何對用戶的在線狀態和通話記錄進行數據統計。這篇文章我們來看看如何統計用戶的聊天消息。 在介紹具體 api 如何調用前,我們可以先看一下 Teams 里對于 Message 的層級結構,在 Teams 里,message有兩種,一種是 …

vis.js

1、官網&#xff1a;http://visjs.org/docs/network/ 2、示例&#xff1a; <!doctype html>  <html>     <head>     <title>vis.js</title>     <script type"text/javascript" src"vis.js"></scri…

暑期實習面試——艾锝科技,Python實習生

遠程筆試過&#xff0c;拒絕現場面轉載于:https://www.cnblogs.com/qinziang/p/9123339.html

Teams App 如何使用設備的能力

我們以前講到過&#xff0c;Teams有很多中可以擴展的方面&#xff0c;其中有一種是Tab&#xff0c;開發者可以開發一個web page/app&#xff0c;然后以tab的方式嵌入到teams里面。 除了基本的功能&#xff0c;這種tab也可以使用teams客戶端設備所帶的一些能力&#xff0c;比如…

實驗室3

實驗3.1 1 #include<stdio.h>2 int main()3 { long int sum,i;4 sum0;5 for(i22;i<1003;i20){6 sumsumi;7 }8 printf("sum%ld",sum);9 return 0; 10 } 11 1 #include<stdio.h>2 int main()3 { 4 long int…

寫出整潔的高效的js代碼

Variables:變量 使用有意義的可發音的變量名 Bad: var yyyymmdstr moment().format(YYYY/MM/DD);Good: var yearMonthDay moment().format(YYYY/MM/DD);使用可搜索的命名 在開發過程中&#xff0c;我們閱讀代碼的時間會遠遠超過編寫代碼的時間&#xff0c;因此保證代碼的可讀…

Teams App自定義

當我們開發的 app 被企業安裝后&#xff0c;有些企業挺希望能做一些自定義&#xff0c;如果把app的圖標改的更加符合企業風格一點&#xff0c;或者把app的名字改成讓本企業員工更容易理解一些&#xff0c;或者把app界面的主題色改成個企業風格更加搭配一些&#xff0c;或者對于…

實驗四:xl命令的常見子命令以及操作

實驗名稱&#xff1a; xl命令的常見子命令以及操作 實驗環境&#xff1a; 這里我們需要正常安裝一臺虛擬機&#xff0c;如下圖&#xff1a; 我們這里以一臺busybox為例&#xff0c;來進行這些簡單的常見的操作&#xff1b; 實驗要求&#xff1a; 這里我們準備了5個常見操作&…

Teams App 掃描二維碼

上篇文章我們講了如何在app的manifest里設置設備的權限&#xff0c;這篇文章我們來實際操作開發一個可以掃描二維碼的teams app。 首先&#xff0c;我們先到app studio里&#xff0c;創建一個teams app&#xff0c;然后創建tab&#xff0c;重要的一點是&#xff0c;我們確保ma…

關于我的知識星球服務

2019獨角獸企業重金招聘Python工程師標準>>> 今天剛開通了我的知識星球-攻城師在路上&#xff0c;歡迎大家加入&#xff0c;目前前50名按最低費用收費50元一年&#xff0c;后面會根據人數情況調整。 希望通過這么一個圈子&#xff0c;讓大家信息資源共享&#xff0c…

mysql8用戶管理

查看當前登錄用戶&#xff1a; 創建用戶&#xff1a; create user 用戶名主機地址 identified with mysql_native_password by 密碼; 修改密碼&#xff1a; alter user 用戶名主機地址 identified with mysql_native_password by 新密碼; 原因是&#xff1a;在mysql 5.7.9版本以…

Teams App設備的地理位置能力

我們上一篇文章講了如何在Teams app里掃描二維碼&#xff0c;這篇文章我們來看一下如何獲取當前設備的地理位置&#xff0c;并且在地圖上顯示地理位置。 首先&#xff0c;我們先到app studio里&#xff0c;創建一個teams app&#xff0c;然后創建tab&#xff0c;并且確保我們勾…

第4章 變量、作用域和內存問題

JavaScript高級程序設計第四章知識點梳理 1、基本類型值和引用類型值 基本類型值包括&#xff1a;Boolean、String、undefined、Number、Null 引用類型值&#xff1a;Object 注意&#xff1a;ECMAScript中所有函數的參數都是按值傳遞的。 2、延長作用域鏈 當執行流進入下列任何…

Teams App如何選擇用戶

當我們在開發app的時候&#xff0c;很多時候需要選擇一個用戶&#xff0c;比如我們開發一個審批的app&#xff0c;就要選擇審批人&#xff0c;所以這個app就需要實現選擇人的界面&#xff0c;而且需要獲取完整的用戶列表&#xff0c;但是要獲取完整的用戶列表又需要app擁有較高…