Microsoft Teams 图标

Microsoft Teams 数据 API

Microsoft Corporation · 通讯协作

安卓版 Microsoft Teams 与一组第一方 HTTPS 接口通信。通讯录与资料界面依赖 /v1/profile/me 与 /v1/directory/people:search;聊天记录在 /v1/auth/sessionToken 签发聊天会话令牌后分页拉取 /v1/messaging/threads/{threadId}/messages;在线状态点来自 /v1/presence:batchLookup;“会议”页签读取 /v1/calendar/me/view。

聊天是个特例:每次消息调用都附加会话令牌加设备注册令牌,而通讯录与日历调用使用 OAuth2 Bearer 令牌。此外,/v1/workspaces/me/summary 为团队与频道左侧栏提供 isUnread、mentionCount 与 previewMessage 角标;“我的”页签的状态选择器向 /v1/presence/me/override 写入新的 availability 与过期时间;/v1/account/me/licenses 读取控制付费功能的 skuId 与 skuPartNumber 行。

Microsoft Teams(包名 com.microsoft.teams,版本 1416/1.0.0.2026163804)是微软的工作聊天、频道、在线状态、日历与会议安卓客户端。登录数据 API 为一组第一方 HTTPS 接口:人员与资料目录(mri、tenantId)、分页话题消息的聊天服务、统一在线状态、日历视图与许可 SKU(skuId、skuPartNumber)。聊天调用携带聊天作用域会话令牌加设备注册令牌;目录与日历调用使用 OAuth2 Bearer 令牌。

应用截图

  • Microsoft Teams 应用截图 1
  • Microsoft Teams 应用截图 2
  • Microsoft Teams 应用截图 3
  • Microsoft Teams 应用截图 4
  • Microsoft Teams 应用截图 5
  • Microsoft Teams 应用截图 6
  • Microsoft Teams 应用截图 7
  • Microsoft Teams 应用截图 8

API 端点一览

  • 读取当前登录用户的个人资料

    GET /v1/profile/me?expand=identityFlags osint

    返回当前登录用户的身份记录(mri、UPN、职位、租户、邮箱 / 电话可见性),“我的”页签与其他所有登录调用都依赖它。

    认证方式: 当前登录工作账号的 OAuth2 Bearer 访问令牌(目录 / 资料范围)。可选的 expand 查询参数会随资料一并返回账号的身份标志。

    • mri
    • objectId
    • displayName
    • givenName
    • surname
    • email
    • mail
    • userPrincipalName
    • jobTitle
    • department
    • companyName
    • tenantId
    • tenantName
    • userType
    • isSkypeTeamsUser
    • skypeTeamsInfo
    • emailsInfo
    • address
    • searchable
    • visibility
    • phonesInfo
    • number
    • country
    • nationalNumber
    • riskScore
    • searchableByProfile

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/profile/me?expand=identityFlags HTTP/1.1
    Authorization: Bearer <access-token>
    Accept: application/json
    {
      "mri": "8:orgid:3f2a1c90-9b11-4d2e-a7c4-0f8e6b1d2a33",
      "objectId": "3f2a1c90-9b11-4d2e-a7c4-0f8e6b1d2a33",
      "displayName": "Alex Rivera",
      "givenName": "Alex",
      "surname": "Rivera",
      "email": "[email protected]",
      "mail": "[email protected]",
      "userPrincipalName": "[email protected]",
      "jobTitle": "Product Manager",
      "department": "Platform",
      "companyName": "Example Corp",
      "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
      "tenantName": "Example Corp",
      "userType": "Member",
      "isSkypeTeamsUser": true,
      "skypeTeamsInfo": {"isSkypeTeamsUser": true},
      "emailsInfo": [{"address": "[email protected]", "searchable": true, "visibility": "Everyone"}],
      "phonesInfo": [{"number": "+14255550123", "country": "US", "nationalNumber": "4255550123", "searchable": false, "visibility": "Contacts"}],
      "riskScore": "0",
      "searchableByProfile": true
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用的登录初始化与“我的”页签资料加载流程重构。
    • 记录了目录、聊天与在线状态流程共同依赖的身份记录。
  • 在组织通讯录中搜索人员

    POST /v1/directory/people:search?expand=identityFlags osint

    执行应用内人员选择器 / 搜索结果页的通讯录查询,返回匹配的用户记录(mri、UPN、jobTitle、tenantId、身份标志)。

    认证方式: 当前登录工作账号的 OAuth2 Bearer 访问令牌(目录范围)。

    • value
    • mri
    • objectId
    • displayName
    • email
    • userPrincipalName
    • jobTitle
    • department
    • tenantId
    • type
    • userType
    • isSkypeTeamsUser
    • imageUri
    • skypeTeamsInfo

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/directory/people:search?expand=identityFlags HTTP/1.1
    Authorization: Bearer <access-token>
    Content-Type: application/json
    
    "alex rivera"
    {
      "value": [
        {
          "mri": "8:orgid:3f2a1c90-9b11-4d2e-a7c4-0f8e6b1d2a33",
          "objectId": "3f2a1c90-9b11-4d2e-a7c4-0f8e6b1d2a33",
          "displayName": "Alex Rivera",
          "email": "[email protected]",
          "userPrincipalName": "[email protected]",
          "jobTitle": "Product Manager",
          "department": "Platform",
          "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
          "type": "Member",
          "userType": "Member",
          "isSkypeTeamsUser": true,
          "imageUri": "https://example.invalid/avatar/alex",
          "skypeTeamsInfo": {"isSkypeTeamsUser": true}
        }
      ]
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据应用的人员选择器与搜索结果通讯录查询重构。
    • 返回与聊天和频道成员名单水合时相同的用户记录。
  • 按成员 ID 批量获取用户资料

    POST /v1/directory/people:batchGet osint

    把聊天 / 频道成员名单中的一批成员 ID 水合为完整用户记录,包括信息隔离限制标志。

    认证方式: 当前登录工作账号的 OAuth2 Bearer 访问令牌(目录范围)。

    • mri
    • objectId
    • displayName
    • email
    • userPrincipalName
    • jobTitle
    • tenantId
    • isIbBarred
    • isBlocked
    • userType
    • skypeTeamsInfo
    • isSkypeTeamsUser
    • value

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/directory/people:batchGet HTTP/1.1
    Authorization: Bearer <access-token>
    Content-Type: application/json
    
    [
      "8:orgid:3f2a1c90-9b11-4d2e-a7c4-0f8e6b1d2a33",
      "8:orgid:9c88e201-4b77-41aa-b012-55aa11cc99ee"
    ]
    {
      "value": [
        {
          "mri": "8:orgid:3f2a1c90-9b11-4d2e-a7c4-0f8e6b1d2a33",
          "objectId": "3f2a1c90-9b11-4d2e-a7c4-0f8e6b1d2a33",
          "displayName": "Alex Rivera",
          "email": "[email protected]",
          "userPrincipalName": "[email protected]",
          "jobTitle": "Product Manager",
          "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
          "isIbBarred": false,
          "isBlocked": false,
          "userType": "Member",
          "skypeTeamsInfo": {"isSkypeTeamsUser": true}
        }
      ]
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据打开聊天或频道成员列表时触发的名单水合流程重构。
    • 单次往返即可将紧凑的成员标识解析为完整的通讯录记录。
  • 批量查询用户在线状态

    POST /v1/presence:batchLookup osint

    按一批成员 ID 返回在线状态、状态签名、混合办公位置及任何强制状态,驱动聊天与联系人列表上的绿 / 黄 / 红状态点。

    认证方式: 在线状态服务的 OAuth2 Bearer 访问令牌。请求体为 {mri, eTag} 对的列表,未变化的条目可借此跳过。

    • mri
    • eTag
    • userMri
    • availability
    • activity
    • capabilities
    • lastSeenAt
    • note
    • mRawStatusMessage
    • mStatusExpiry
    • mStatusPublishTime
    • workLocation
    • location
    • subLocation
    • locationExpiry
    • locationForced
    • forcedAvailability
    • mAvailability
    • mActivity
    • mExpiry
    • mPublishTime

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/presence:batchLookup HTTP/1.1
    Authorization: Bearer <access-token>
    Content-Type: application/json
    
    [
      {"mri": "8:orgid:3f2a1c90-9b11-4d2e-a7c4-0f8e6b1d2a33", "eTag": "W/\"datetime'2026-09-27T10:00:00Z'\""},
      {"mri": "8:orgid:9c88e201-4b77-41aa-b012-55aa11cc99ee", "eTag": ""}
    ]
    [
      {
        "userMri": "8:orgid:3f2a1c90-9b11-4d2e-a7c4-0f8e6b1d2a33",
        "availability": "Available",
        "activity": "Available",
        "capabilities": "Audio|Video|ScreenShare",
        "eTag": "W/\"datetime'2026-09-27T10:04:12Z'\"",
        "lastSeenAt": "2026-09-27T10:04:12Z",
        "note": {
          "mRawStatusMessage": "In a customer call",
          "mStatusExpiry": "2026-09-27T18:00:00Z",
          "mStatusPublishTime": "2026-09-27T09:00:00Z"
        },
        "workLocation": {
          "location": "Office",
          "subLocation": "Building 34",
          "locationExpiry": "2026-09-27T23:59:59Z",
          "locationForced": false
        },
        "forcedAvailability": {
          "mAvailability": "Busy",
          "mActivity": "InACall",
          "mExpiry": "2026-09-27T11:00:00Z",
          "mPublishTime": "2026-09-27T10:00:00Z"
        }
      }
    ]

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据聊天行与联系人卡片上渲染的状态点重构。
    • 批量查询让名单视图一次调用即可解析所有成员的在线状态。
  • 发布强制在线状态

    PUT /v1/presence/me/override opendata

    从移动端发布当前登录用户的强制在线状态(Available / Busy / DoNotDisturb 及活动),在请求的过期时间前持续生效。

    认证方式: 在线状态服务的 OAuth2 Bearer 访问令牌。

    • id
    • deviceType
    • availability
    • activity
    • desiredExpirationTime

    依据应用界面重构的示意示例,并非实时抓包。

    PUT /v1/presence/me/override HTTP/1.1
    Authorization: Bearer <access-token>
    Content-Type: application/json
    
    {
      "id": "Mobile",
      "deviceType": "Mobile",
      "availability": "Busy",
      "activity": "InACall",
      "desiredExpirationTime": "2026-09-27T11:00:00Z"
    }
    {
      "id": "Mobile",
      "deviceType": "Mobile",
      "availability": "Busy",
      "activity": "InACall",
      "desiredExpirationTime": "2026-09-27T11:00:00Z"
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据“我的”页签上的状态选择器(Available / Busy / DoNotDisturb)重构。
    • 该覆盖携带设备标记与明确的过期时间,可自动失效。
  • 分页读取聊天或频道消息

    GET /v1/messaging/threads/{threadId}/messages opendata

    为会话视图分页拉取单聊、群聊或频道话题的消息历史,包括编写时间、发送者 ID 与已读水位。

    认证方式: 以令牌请求头发送的聊天作用域会话令牌(由会话令牌端点签发),外加聊天端点注册时颁发的设备注册令牌。

    • threadId
    • view
    • startTime
    • pageSize
    • messages
    • id
    • clientmessageid
    • conversationid
    • from
    • imdisplayname
    • messagetype
    • contenttype
    • content
    • composetime
    • originalarrivaltime
    • properties
    • consumptionHorizon
    • forwardLink

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/messaging/threads/19:[email protected]/messages?view=msnp24Equivalent&startTime=0&pageSize=50 HTTP/1.1
    Authorization: sessionToken <session-token>
    RegistrationToken: registrationToken=<registration-token>
    Accept: application/json
    {
      "messages": [
        {
          "id": "1758962400123",
          "clientmessageid": "18446744073709550001",
          "conversationid": "19:[email protected]",
          "from": "8:orgid:3f2a1c90-9b11-4d2e-a7c4-0f8e6b1d2a33",
          "imdisplayname": "Alex Rivera",
          "messagetype": "RichText/Html",
          "contenttype": "text",
          "content": "<p>Standup notes are in the wiki.</p>",
          "composetime": "2026-09-27T10:00:00.123Z",
          "originalarrivaltime": "2026-09-27T10:00:00.200Z",
          "properties": {
            "consumptionHorizon": "1758962400123;1758962400123;1758962400000"
          }
        }
      ],
      "_metadata": {
        "forwardLink": "/v1/messaging/threads/19:[email protected]/messages?syncState=abc"
      }
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据分页加载单聊、群聊或频道话题的会话视图重构。
    • 携带客户端用于跨设备跟踪已读状态的消费水位。
  • 向聊天或频道话题发送消息

    POST /v1/messaging/threads/{threadId}/messages opendata

    从输入框发布一条新的聊天或频道消息,返回服务器分配的 id、到达时间与回显正文。

    认证方式: 以令牌请求头发送的聊天作用域会话令牌,外加已注册聊天端点的设备注册令牌。

    • content
    • contenttype
    • messagetype
    • clientmessageid
    • imdisplayname
    • OriginalArrivalTime
    • id
    • conversationid
    • from
    • composetime

    依据应用界面重构的示意示例,并非实时抓包。

    POST /v1/messaging/threads/19:[email protected]/messages HTTP/1.1
    Authorization: sessionToken <session-token>
    RegistrationToken: registrationToken=<registration-token>
    Content-Type: application/json
    
    {
      "content": "<p>Shipping the build at 16:00.</p>",
      "contenttype": "text",
      "messagetype": "RichText/Html",
      "clientmessageid": "18446744073709550002",
      "imdisplayname": "Alex Rivera"
    }
    {
      "OriginalArrivalTime": "2026-09-27T10:05:01.004Z",
      "id": "1758962701004",
      "clientmessageid": "18446744073709550002",
      "conversationid": "19:[email protected]",
      "from": "8:orgid:3f2a1c90-9b11-4d2e-a7c4-0f8e6b1d2a33",
      "imdisplayname": "Alex Rivera",
      "messagetype": "RichText/Html",
      "contenttype": "text",
      "content": "<p>Shipping the build at 16:00.</p>",
      "composetime": "2026-09-27T10:05:00.980Z"
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据输入框向当前会话发布消息的流程重构。
    • 客户端自带 clientmessageid,以便把回显与本地草稿对齐。
  • 列出当前登录用户的日历视图

    GET /v1/calendar/me/view opendata

    为“会议”页签返回当天的日历事件,包括主题、时间窗口、RSVP、组织者与在线会议加入链接。

    认证方式: OAuth2 Bearer 访问令牌(日历范围)。时间窗口以 startDateTime 与 endDateTime 传入。

    • startDateTime
    • endDateTime
    • Id
    • Start
    • End
    • iCalUId
    • Subject
    • Type
    • SeriesMasterId
    • Locations
    • IsAllDay
    • IsOnlineMeeting
    • IsCancelled
    • OnlineMeeting
    • OnlineMeetingUrl
    • ResponseStatus
    • Organizer
    • OriginalStartTimeZone
    • Recurrence
    • DateTime
    • TimeZone
    • JoinUrl
    • DisplayName
    • EmailAddress
    • Name
    • Address
    • Response
    • Time

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/calendar/me/view?startDateTime=2026-09-27T00:00:00Z&endDateTime=2026-09-28T00:00:00Z&$select=Id,Start,End,iCalUId,Subject,Type,SeriesMasterId,Locations,IsAllDay,IsOnlineMeeting,IsCancelled,OnlineMeeting,OnlineMeetingUrl,ResponseStatus,Organizer,OriginalStartTimeZone,Recurrence HTTP/1.1
    Authorization: Bearer <access-token>
    Accept: application/json
    {
      "value": [
        {
          "Id": "AAMkAGI2AAAt2j2NAAA=",
          "iCalUId": "040000008200E00074C5B7101A82E00800000000A0A0A0A0",
          "Subject": "Platform standup",
          "Type": "SingleInstance",
          "SeriesMasterId": null,
          "Start": {"DateTime": "2026-09-27T15:00:00.0000000", "TimeZone": "UTC"},
          "End": {"DateTime": "2026-09-27T15:30:00.0000000", "TimeZone": "UTC"},
          "Locations": [{"DisplayName": "Teams meeting"}],
          "IsAllDay": false,
          "IsOnlineMeeting": true,
          "IsCancelled": false,
          "OnlineMeetingUrl": "https://meetings.example.invalid/join/19%3ameeting_abc123",
          "OnlineMeeting": {"JoinUrl": "https://meetings.example.invalid/join/19%3ameeting_abc123"},
          "ResponseStatus": {"Response": "Accepted", "Time": "2026-09-26T18:01:00Z"},
          "Organizer": {"EmailAddress": {"Name": "Alex Rivera", "Address": "[email protected]"}},
          "OriginalStartTimeZone": "Pacific Standard Time",
          "Recurrence": null
        }
      ]
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据渲染当天事件的“会议”页签重构。
    • 每个事件携带应用可深链进入的在线会议加入链接。
  • 列出当前登录用户的团队与频道

    GET /v1/workspaces/me/summary opendata

    返回当前登录用户优化后的左侧栏团队与频道列表,包括收藏标记、未读/提及计数与最后一条消息预览。

    认证方式: OAuth2 Bearer 访问令牌(工作区聚合范围)。

    • conversations
    • conversationId
    • parentConversationId
    • displayName
    • conversationType
    • channelType
    • tenantId
    • isFavorite
    • isUnread
    • mentionCount
    • consumptionHorizon
    • lastMessageId
    • lastMessageArrivalTime
    • previewMessage

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/workspaces/me/summary HTTP/1.1
    Authorization: Bearer <access-token>
    Accept: application/json
    {
      "conversations": [
        {
          "conversationId": "19:[email protected]",
          "parentConversationId": null,
          "displayName": "Platform",
          "conversationType": "Team",
          "channelType": null,
          "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
          "isFavorite": true,
          "isUnread": true,
          "mentionCount": 2,
          "consumptionHorizon": "1758962400123;1758962400123;1758962400000",
          "lastMessageId": 1758962400123,
          "lastMessageArrivalTime": 1758962400123,
          "previewMessage": "Standup notes are in the wiki."
        },
        {
          "conversationId": "19:[email protected]",
          "parentConversationId": "19:[email protected]",
          "displayName": "General",
          "conversationType": "Channel",
          "channelType": "Standard",
          "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
          "isFavorite": true,
          "isUnread": true,
          "mentionCount": 0,
          "consumptionHorizon": "1758962400123;1758962400123;1758962400000",
          "lastMessageId": 1758962400123,
          "lastMessageArrivalTime": 1758962400123,
          "previewMessage": "Standup notes are in the wiki."
        }
      ]
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据带有未读与提及角标的团队与频道左侧栏重构。
    • 单个聚合载荷,让侧栏无需按团队逐一请求即可渲染。
  • 读取账户的许可 SKU

    GET /v1/account/me/licenses opendata

    返回当前登录用户分配的订阅 SKU 与服务计划(含会议/聊天计划),用于控制付费功能的开启。

    认证方式: 具有组织用户读取范围的 OAuth2 Bearer 访问令牌。

    • id
    • skuId
    • skuPartNumber
    • servicePlans
    • servicePlanId
    • provisioningStatus
    • value

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/account/me/licenses HTTP/1.1
    Authorization: Bearer <access-token>
    Accept: application/json
    {
      "value": [
        {
          "id": "c7890e12-aaaa-4bbb-8ccc-0123456789ab",
          "skuId": "6fd2c87f-b296-42f0-b197-1e91e994b900",
          "skuPartNumber": "ENTERPRISEPACK",
          "servicePlans": [
            {
              "servicePlanId": "57ff2da0-89d1-429b-9cd3-4d0f0c7d0a1e",
              "provisioningStatus": "Success"
            }
          ]
        }
      ]
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据检查当前账户订阅 SKU 的功能开关逻辑重构。
    • 按计划的预配状态决定客户端启用哪些高级功能。
  • 用账户令牌交换聊天会话令牌

    GET /v1/auth/sessionToken opendata

    把账户级 OAuth2 令牌换成聊天作用域会话令牌、成员 ID 与区域路由信息,供每次聊天服务调用(消息、长轮询、在线状态文档)使用。

    认证方式: 应用认证服务的 OAuth2 Bearer 访问令牌。返回的 tokens.skypeToken 随后作为 Authorization 令牌请求头发送到聊天服务调用。

    • tokens
    • skypeToken
    • expiresIn
    • tokenType
    • mri
    • skypeId
    • region
    • partition
    • regionOverride
    • userInfo
    • cid
    • primaryMemberName
    • skypeName
    • licenseDetails
    • isFreemium
    • isTrial
    • isCopilot
    • isAdvComms
    • isTeamsSmb

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/auth/sessionToken HTTP/1.1
    Authorization: Bearer <access-token>
    Accept: application/json
    {
      "tokens": {
        "skypeToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
        "expiresIn": 86400,
        "tokenType": "skype"
      },
      "mri": "8:orgid:3f2a1c90-9b11-4d2e-a7c4-0f8e6b1d2a33",
      "skypeId": "orgid:3f2a1c90-9b11-4d2e-a7c4-0f8e6b1d2a33",
      "region": "amer",
      "partition": "amer",
      "regionOverride": null,
      "userInfo": {
        "cid": 0,
        "primaryMemberName": "[email protected]",
        "skypeName": "orgid:3f2a1c90-9b11-4d2e-a7c4-0f8e6b1d2a33"
      },
      "licenseDetails": {
        "isFreemium": false,
        "isTrial": false,
        "isCopilot": false,
        "isAdvComms": false,
        "isTeamsSmb": false
      }
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据首次聊天调用前运行的登录握手流程重构。
    • 一次交换即返回聊天令牌、成员标识与区域路由分区。
  • 批量解析头像

    GET /v1/directory/people/avatars osint

    按成员 ID + displayName 批量解析聊天列表与联系人卡片的头像 imageUri;当用户没有照片时返回 avatarHint。

    认证方式: 当前登录工作账号的 OAuth2 Bearer 访问令牌(目录范围)。usersInfo 是成员 ID + displayName 对的紧凑编码。

    • usersInfo
    • mri
    • displayName
    • imageUri
    • avatarHint
    • etag
    • value

    依据应用界面重构的示意示例,并非实时抓包。

    GET /v1/directory/people/avatars?usersInfo=%5B%7B%22mri%22%3A%228%3Aorgid%3A3f2a1c90-9b11-4d2e-a7c4-0f8e6b1d2a33%22%2C%22displayName%22%3A%22Alex%20Rivera%22%7D%5D HTTP/1.1
    Authorization: Bearer <access-token>
    Accept: application/json
    {
      "value": [
        {
          "mri": "8:orgid:3f2a1c90-9b11-4d2e-a7c4-0f8e6b1d2a33",
          "displayName": "Alex Rivera",
          "imageUri": "https://example.invalid/avatar/alex",
          "avatarHint": "ProfilePicture",
          "etag": "W/\"datetime'2026-08-01T12:00:00Z'\""
        }
      ]
    }

    依据应用界面推导;端点细节为示意说明,并非实际抓包。

    • 依据批量解析头像图片的聊天列表与联系人卡片重构。
    • 当成员没有留存照片时回退到姓名首字母/头像提示。

数据类别

  • 资料
  • 通讯录
  • 在线状态
  • 消息
  • 日历
  • 许可
  • 头像

数据使用场景与案例

  • 组织通讯录对账

    夜间任务拉取 me 资料与人员搜索端点(mri、userPrincipalName、jobTitle、tenantId),并向上同步到 HRIS 或 ITSM,让离职与岗位变更次日出现在 Teams 感知工具中。

  • 客服台的实时在线状态叠加

    客服台把 MRI 批次提交到在线状态批量查询端点,在每个工单负责人旁展示 availability、activity、lastSeenAt 与 workLocation,让客服在 @ 提及前知道谁在通话中。

  • 从运营控制台加入会议

    值班看板读取日历视图端点的 Id、Subject、Start、End、IsOnlineMeeting 与 OnlineMeetingUrl,无需打开日历页签即可把响应人员深链进当前 Teams 会议。

  • 聊天话题合规导出

    在签发聊天作用域会话令牌后,记录管道分页拉取话题消息端点(content、composetime、from、imdisplayname、clientmessageid)归档,用于电子发现。

常见问题

Teams me 资料返回哪些身份字段?

me 资料调用返回 mri、objectId、displayName、givenName、surname、email、userPrincipalName、jobTitle、department、companyName、tenantId、tenantName、emailsInfo、phonesInfo 与身份标志。

Teams 如何区分聊天与通讯录调用的认证?

通讯录、日历与许可调用发送 OAuth2 Bearer 令牌。聊天调用先把该账户令牌换成聊天作用域会话令牌,再在分页或发送话题消息时以令牌请求头发送会话令牌,外加设备注册令牌。

可以读取同事的哪些在线状态属性?

在线状态批量查询调用返回 availability、activity、capabilities、lastSeenAt、状态签名、混合办公 workLocation(location、subLocation)以及任何强制状态时间窗。

Teams 会议加入链接来自哪里?

“会议”页签加载日历视图端点。每个事件携带 Id、iCalUId、Subject、Start、End、IsOnlineMeeting、OnlineMeetingUrl 与 Organizer。

相关主题

  • microsoft teams api
  • teams 聊天消息
  • teams 在线状态 api
  • teams 人员搜索
  • teams 日历视图
  • teams 会话令牌
  • mri userPrincipalName
  • teams licenseDetails

需要集成这个 App 的数据 API?

我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。

  • 每个项目均签 NDA 与 SOW
  • 3–7 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价