presence:setStatusMessage

命名空间:microsoft.graph

为用户设置状态消息。 可以提供可选的到期日期和时间。

此 API 可用于以下国家级云部署

全局服务 美国政府 L4 美国政府 L5 (DOD) 由世纪互联运营的中国

权限

为此 API 选择标记为最低特权的权限。 只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考

权限类型 最低特权权限 更高特权权限
委派(工作或学校帐户) Presence.ReadWrite 不可用。
委派(个人 Microsoft 帐户) 不支持。 不支持。
应用程序 Presence.ReadWrite.All 不可用。

HTTP 请求

POST /users/{userId}/presence/setStatusMessage

请求标头

名称 说明
Authorization 持有者 {token}。 必填。 详细了解 身份验证和授权
Content-Type application/json. 必需。

请求正文

在请求正文中,提供具有以下参数的 JSON 对象。

参数 类型 说明
statusMessage microsoft.graph.presenceStatusMessage 包含用户的状态消息。

响应

如果成功,此方法返回 200 OK 响应代码。

示例

示例 1:设置包含到期日期的状态消息

对于用户fa8bf3dc-eca7-46b7-bad1-db199b62afc32022-10-18 at 17:05:33.2079781 Pacific Standard Time,以下请求将状态消息设置为“你好,我当前正在开会”。

请求

POST https://graph.microsoft.com/v1.0/users/fa8bf3dc-eca7-46b7-bad1-db199b62afc3/presence/setStatusMessage
Content-Type: application/json

{
  "statusMessage": {
    "message": {
        "content": "Hey I'm currently in a meeting.",
        "contentType": "text"
    },
    "expiryDateTime": {
        "dateTime": "2022-10-18T17:05:33.2079781",
        "timeZone": "Pacific Standard Time"
    }
  }
}

响应

HTTP/1.1 200 OK

示例 2:设置其他用户的状态消息

以下请求将用户 fa8bf3dc-eca7-46b7-bad1-db199b62afc3的状态状态消息设置为“你好,我现在可以使用”。 在示例 3 中,通过 fa8bf3dc-eca7-46b7-bad1-db199b62afc3getPresence 请求代表其他用户获取用户的状态信息。

请求

POST https://graph.microsoft.com/v1.0/users/fa8bf3dc-eca7-46b7-bad1-db199b62afc3/presence/setStatusMessage
Content-Type: application/json

{
  "statusMessage": {
    "message": {
      "content": "Hey I am available now",
      "contentType": "text"
    }
  }
}

响应

HTTP/1.1 200 OK

示例 3:获取其他用户状态

此示例遵循示例 2。 通过 fa8bf3dc-eca7-46b7-bad1-db199b62afc3getPresence 请求代表其他用户获取用户的状态信息。

请求

GET https://graph.microsoft.com/v1.0/users/fa8bf3dc-eca7-46b7-bad1-db199b62afc3/presence

响应

由于此请求获取其他用户的状态状态, statusMessage.expiryDateTime 响应正文中不包含 和 statusMessage.publishedDateTime 属性。

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "fa8bf3dc-eca7-46b7-bad1-db199b62afc3",
  "availability": "Available",
  "activity": "Available",
  "outOfOfficeSettings": {
    "message": null,
    "isOutOfOffice": false
  },
  "statusMessage": {
    "message": {
      "content": "Hey I am available now",
      "contentType": "text"
    }
  }
}