发送ActivityFeed的隐藏功能
前兩篇文章介紹了如何發送 activity notification,這篇文章主要介紹兩個隱藏功能,實際上所謂的隱藏功能是指大家在閱讀官方文檔是會忽略的兩個點,但是實際上也是很實用的兩個功能點。
text 類型的 topic
之前文章中提到我們的 activity notification 支持三種類型,他們分別的url是:
POST https://graph.microsoft.com/beta/chats/{chat-id}/sendActivityNotification POST https://graph.microsoft.com/beta/teams/{teamId}/sendActivityNotification POST https://graph.microsoft.com/beta/users/{userId}/teamwork/sendActivityNotification他們的http request body基本類似:
{"topic": {"source": "entityUrl","value": "https://graph.microsoft.com/beta/users/{user-id}/teamwork/installedApps/{installation-id}"},"activityType": "taskCreated","previewText": {"content": "New Task Created"},"templateParameters": [{"name": "taskId","value": "Task 342342"}] }區別在于不同的類型,他們對應的topic里的value的格式不同。實際上 Teams 的 Graph API 還給我們提供了一種通用的 topic 類型:text,如下:
{"topic": {"source": "text","value": "Deployment Approvals Channel","webUrl": "https://teams.microsoft.com/l/message/19:448cfd2ac2a7490a9084a9ed14cttr78c@thread.skype/1605223780000?tenantId=c8b1bf45-3834-4ecf-971a-b4c755ee677d&groupId=d4c2a937-f097-435a-bc91-5c1683ca7245&parentMessageId=1605223771864&teamName=Approvals&channelName=Azure%20DevOps&createdTime=1605223780000"},... }可以看到,在?source?字段指定?text,然后在?value?里填入你想要的任何文字內容,再加一個?webUrl?就可以了。需要注意的是,在這種模式下,?webUrl?是必須的。
有了這種類型,實際上你就可以推送任何內容了,不再局限于 team 里的某個 resource。
Activity Notification的修改
在一個推送的請求里,實際上還有一個隱藏的屬性?chainId
{"topic": { ... },"activityType": "...","previewText": { ... },"templateParameters": [ ... ],"chainId": 3279238 }chainId?是一個64位的整數,來唯一的指定你這次推送的id,如果你需要修改你之前推送的notification內容,可以再次調用 graph api,只要傳入一樣的?chainId?就可以了,就可以將之前的notificaiton更新。
也就是說如果你的 app 需要更新之前發的 notification 內容,那你在發推送的時候需要生成一個唯一的64位整數,并且保存下來,下次要更新的時候再查詢到那個id,并用它再發送新的 notification 內容即可。
總結
以上是生活随笔為你收集整理的发送ActivityFeed的隐藏功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++万能头文件包含的头文件
- 下一篇: 微信小程序:拨打电话