.net-core - Actionable Message Card的Input.Date控件根据平台返回不同的结果
问题描述
在我的可操作消息卡中,有一个Input.Date控件。用户输入日期,提交请求,然后在后台将生成的日期序列化为 DateTimeOffset 对象。
只要在桌面 Chrome/Edge 上的 Outlook Web App 中查看(并采取行动)可操作的消息,这过去就可以完美地工作。现在,我使用 Outlook 桌面和 Android 移动应用程序对此进行了测试,由于以下错误导致失败:
The JSON value is not in a supported DateTimeOffset format
这是因为不同的平台各自以不同的格式返回所选值。查看以下 JSON 有效负载。在每种情况下,我都AUG 5th 2021
从卡中提交。我在德国,所以目前我们确实与 UTC/GMT 有 2 小时的偏移。
网络
{"retryDate":"2021-08-04T22:00:00.000Z"}
Outlook 桌面应用程序
{"retryDate":"08/04/2021 22:00:00"}
Outlook Android 应用程序(另请注意:这将返回本地引用而不是 UTC 值)
{"retryDate":"8/5/2021 12:00:00 AM"}
这是简化的可操作消息卡有效负载,包括生成上述请求正文的 HTTP POST 操作。
{
"type": "AdaptiveCard",
"body": [
{
"type": "Input.Date",
"id": "gvd"
},
{
"type": "ActionSet",
"actions": [
{
"type": "Action.Http",
"title": "Submit",
"method": "POST",
"url": "https://myserver.com/api/endpoint",
"body": "{\"retryDate\":\"{{gvd.Value}}\"}"
}
]
}
]
}
处理这些不一致的最佳方法是什么?最好我希望所有平台都以 UTC 格式返回相同的 ISO 日期时间。
任何帮助或见解将不胜感激!
解决方案
推荐阅读
- node.js - Passport.js SSO - 验证用户是否仍登录到 IdP
- java - 有没有更优雅的方式来启动基于列表的线程?
- azure - 如何从 Azure DevOps 创建 Epic 和功能文档
- time-complexity - 为什么 B 树的复杂度是 O(log n),它不是二叉树
- c# - C# 程序集绑定重定向 - Newtonsoft.Json
- matlab - 为一组无序数据的图创建趋势线?
- ansible - 使用 Ansible 导出 HTTP 代理
- java - 如何关闭 java.util.Stream 并使用终端操作
- python - 如何计算列的唯一组合的元素频率并存储在 Dataframe 的另一列中?
- python - 如何在 python 中使用 mmap 加载 json?(在窗户上)