人人车的网站找谁做的,微盟做一个小程序大概多少钱,wordpress 选单设定,厦门百度快照优化排名前两篇文章介绍了如何发送 activity notification#xff0c;这篇文章主要介绍两个隐藏功能#xff0c;实际上所谓的隐藏功能是指大家在阅读官方文档是会忽略的两个点#xff0c;但是实际上也是很实用的两个功能点。
text 类型的 topic
之前文章中提到我们的 activity not…前两篇文章介绍了如何发送 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:448cfd2ac2a7490a9084a9ed14cttr78cthread.skype/1605223780000?tenantIdc8b1bf45-3834-4ecf-971a-b4c755ee677dgroupIdd4c2a937-f097-435a-bc91-5c1683ca7245parentMessageId1605223771864teamNameApprovalschannelNameAzure%20DevOpscreatedTime1605223780000},...
}可以看到在 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 内容即可。