日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

推送ActivityFeed到Teams

發布時間:2023/12/9 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 推送ActivityFeed到Teams 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

幾個月前,Teams 團隊又推出了新的 Graph API,讓 app 可以給用戶發送 Activity Feed。我們來看看如何做。

首先,我們的app需要使用較新的 manifest 1.7版本,當然如果使用最新的1.8版本就更好了。在manifest json中添加?webApplicationInfo?和?activities?配置塊

{"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.8/MicrosoftTeams.schema.json","manifestVersion": "1.8","version": "1.0.0","id": "your app id","packageName": "com.example.myapp",..."webApplicationInfo": {"id": "AAD App ID","resource": "Resource URL for acquiring auth token for SSO","applicationPermissions": [ ... ],},"activities": {"activityTypes": [{"type":"taskCreated","description":"Task Created Activity","templateText":"{actor} created task {taskId} for you"},{"type":"teamMention","description":"Team Mention Activity","templateText":"{actor} mentioned team"}]} }

在?webApplicationInfo?中的 id 指的是 AzureAD app 的 ID (client ID),resource?是 app 的 reply url (或者 redirect url)。

在?activities?中,type 是指 activity 的類型,它在整個manifest文件里需要唯一。description 是這類 activity 的簡稱,templateText 是 activity feed 推送的文本內容,它是一個模版,{actor}?在這里是一個特殊的類型,teams系統會自動填寫,如果發送activity feed使用的是 delegated 驗證的話,actor就顯示delegated的用戶的名字,如果是 application 驗證的話,它顯示的是 app 的名字。{taskId}是一個自定義的參數,你可以在發送 activity feed 的時候指定值。

我們準備好了manifest文件后,可以安裝到teams 里,并且我們還需要確保一點:接受 activity feed 的用戶也必須安裝了我們的app,我之前有一篇文章講的是如何主動給用戶安裝 app,有興趣的讀者可以參考那篇文章,這樣就可以把你的app主動推給所有的用戶進行安裝。(當然,你的app首先需要取得相應的權限)。

準備工作做好后,我們就可以發送一個 Graph API的請求。如下:

POST https://graph.microsoft.com/beta/chats/{chatId}/sendActivityNotification Content-Type: application/json{"topic": {"source": "entityUrl","value": "https://graph.microsoft.com/beta/chats/{your-chat-id}"},"activityType": "taskCreated","previewText": {"content": "A new task was created"},"recipient": {"@odata.type": "microsoft.graph.aadUserNotificationRecipient","userId": "569363e2-1111-2222-3333-16f245c5d66a"},"templateParameters": [{"name": "taskId","value": "123445"}] }

大家可以看到在?templateParameters?中,我們指定了taskId 參數,這個參數就對應到了之前 manifest 文件里?activities?節點下的?{taskId}。

{"type":"taskCreated","description":"Task Created Activity","templateText":"{actor} created task {taskId} for you"},

所以最終推送出去的文字內容就是?SomeName created task 123445 for you。

?

總結

以上是生活随笔為你收集整理的推送ActivityFeed到Teams的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。