标签: microsoft-graph-teams

Microsoft Teams Graph api - 获取呼叫 ID

我正在使用 Microsoft Teams Communications api(通过 Graph API)测试一些场景,但我遇到了一件事。我想从特定通话中检索参与者,但我不知道从哪里可以获取现有通话的通话 ID(由用户安排)?我尝试从会议网址获取 ID,但没有成功。您能帮我从哪里可以获取以下请求的呼叫 ID 吗?

获取https://graph.microsoft.com/v1.0/communications/calls/ {id}

office365 microsoft-teams microsoft-graph-teams

5
推荐指数
1
解决办法
2221
查看次数

如何知道用户是否已阻止 Teams 中的机器人

我使用 Bot 框架 V4 创建了一个机器人并托管在 Teams 中。

我的机器人可供组织中的所有用户使用。

我想知道是否有人阻止了该机器人。

如果机器人被阻止,是否有任何 API 或来自机器人的任何事件可以知道用户 ID?

提前致谢

botframework microsoft-teams microsoft-graph-teams

5
推荐指数
1
解决办法
1879
查看次数

对于将登录用户的应用程序,AzureAD 应用程序注册中的 User.Read 与 OpenID/配置文件/电子邮件权限之间有什么区别?

创建将使用 Azure AD 身份验证来登录用户的多租户应用程序时,GitHub 上的各种示例似乎建议应用程序注册应包含 OpenId 下的以下权限。

email   View users' email address
offline_access   Maintain access to data you have given it access to
openid     Sign users in
profile   View users' basic profile
Run Code Online (Sandbox Code Playgroud)

(例如: https: //github.com/OfficeDev/microsoft-teams-sample-auth-node第 12 节)

在遵循 Azure 门户本身上的示例时,快速入门仅使用这一权限创建应用程序注册

User.Read 登录并读取用户个人资料

Microsoft 的 Azure AD User.Read 权限是通用 openid 的电子邮件、openid 和配置文件权限的超集吗?

在https://login.microsoftonline.com/common/adminconsent?client_id={client-id}表单中创建同意 URL 时,似乎仅显示 User.Read。

对于需要用户登录的基本应用程序,建议的推荐权限集是什么?

azure-active-directory microsoft-graph-teams microsoft-graph-api

5
推荐指数
2
解决办法
7606
查看次数

将机器人添加到 MS Teams 私人频道

是否有任何解决方法可以使用代码在私人频道上创建、更新和删除对话?

botframework microsoft-teams microsoft-graph-teams microsoft-graph-api

5
推荐指数
1
解决办法
2094
查看次数

msal.js 包的 loginRedirect() 方法导致“TypeError:无法读取未定义的属性“then””

我目前正在使用 msal.js 包,以便您可以对我自己的 Vue.js 应用程序使用 azure 授权。到目前为止,我已经创建了一个 Teams 应用程序,可以在其中访问我的 Vue.js 网站,该网站通过 ngrok 建立隧道。

我在 Vue.js 中的代码如下所示(为了安全起见,我在这篇 stackoverflow 帖子中用占位符替换了 clientId 和authority):

import * as Msal from 'msal';

export default {
  signIn: async () => {

    const aDConfig = {
      auth: {
        clientId: 'AZUREAPPID',
        authority: 'https://login.microsoftonline.com/AZURETENANTID',
        redirectUri: 'https://login.microsoftonline.com/common/oauth2/nativeclient',
      },
      cache: {
        cacheLocation: 'localStorage',
        storeAuthStateInCookie: true,
      },
    };

    const aDAuth = new Msal.UserAgentApplication(aDConfig);

    const loginRequest = {
      scopes: ['user.read'],
    };

    await aDAuth.handleRedirectCallback((error, response) => {
      debugger;
      console.log(error);
      console.log(response);
    });

    await aDAuth.loginRedirect(loginRequest).then(async (loginResponse) => …
Run Code Online (Sandbox Code Playgroud)

javascript azure-ad-msal microsoft-teams msal.js microsoft-graph-teams

4
推荐指数
1
解决办法
1万
查看次数

了解 Microsoft graph /getSchedule Api 功能

我正在尝试使用 graph /getSchedule api 来检查会议冲突。但是,我不太了解请求输入字段“availabilityViewInterval”的功能和用法。

我的基本要求是传递开始和结束日期时间并查看资源是否可用(空闲/忙碌)。虽然我可以在 /getSchedule Api 中获取该信息,但不确定请求和响应中的某些字段。

  1. “availabilityViewInterval”:这是一个请求字段,在文档中声明为可选,但在使用图形客户端时,我需要为此传递值。它接受 5 到 1440 之间的 int 值,但不确定它的作用以及我应该传递的值是什么?

  2. “availabilityView”:这是一个响应字段,返回一个字符串值。但我无法理解它。这个值有什么用以及它是如何计算的?它的意义是什么以及如何利用它?

要求:

ICalendarGetScheduleCollectionPage response = graphClient.users("usrEmailAddress").calendars(calendar.id)
                .getSchedule(schedulesList,endTime,startTime,availabilityViewInterval)
                .buildRequest()
                .post();
Run Code Online (Sandbox Code Playgroud)

下面是我的示例响应(两次请求中的availabilityViewInterval值都是5,但响应availabilityView是不同的):

**"availabilityView": "22"**,
      "scheduleItems": [
        {
          "isPrivate": false,
          "status": "busy",
          "subject": "Test Meeting again",
          "location": "",
          "start": {
            "dateTime": "2020-06-12T10:58:45.0000000",
            "timeZone": "UTC"
          },
          "end": {
            "dateTime": "2020-06-12T11:08:45.0000000",
            "timeZone": "UTC"
          }
        }
      ],
      "workingHours": {
        "daysOfWeek": [
          "monday",
          "tuesday",
          "wednesday",
          "thursday",
          "friday"
        ],
        "startTime": "08:00:00.0000000",
        "endTime": "17:00:00.0000000",
        "timeZone": {
          "name": "India Standard Time"
        } …
Run Code Online (Sandbox Code Playgroud)

java microsoft-graph-sdks microsoft-graph-calendar microsoft-graph-teams microsoft-graph-api

4
推荐指数
1
解决办法
2855
查看次数

C# 中缺少 Microsoft Graph ChatMessage 命名空间

我正在按照Microsoft Graph 教程从 C# 创建聊天消息并将其发送到 Microsoft Teams 频道。

但是,在尝试创建对象时按照第一个示例时出现错误ChatMessage。( var chatMessage = new ChatMessage...) 的错误是:

找不到类型或命名空间名称“ChatMessage”(您是否缺少 using 指令或程序集引用?)

我已经在我的项目中添加了以下引用,但它们似乎都不包含ChatMessage类定义:

  • Microsoft.Graph
  • Microsoft.Graph.Core
  • Microsoft.Graph.Auth

ChatMessage文档为我提供了有关资源类型的更多信息ChatMessage,但没有告诉我应该从哪里获取它。

我发现的唯一的其他东西是Windows.ApplicationModel.Chat.ChatMessage,但我在 Nuget 中找不到windows.applicationmodel.chat,而且我不确定这是否真的正确,因为图形教程页面上没有提及它。

为了能够使用ChatMessage教程中的对象,我做错了什么?

c# microsoft-graph-sdks microsoft-graph-teams microsoft-graph-api

3
推荐指数
1
解决办法
1309
查看次数

MS Teams:以编程方式向私人聊天发送消息

我尝试找到一种在MS Teams的个人聊天中发送私人消息的方法。

我知道在“通道 > 连接器”中,我可以使用 Webhook 来实现此目的。不幸的是,我在个人聊天中找不到类似的内容。

我发现的唯一相关的是 MS Graph API,但这不是我想要的。

在此输入图像描述

目前,我正在尝试使用电子邮件 API 作为替代方案

在此输入图像描述

任何建议将不胜感激,谢谢。

microsoft-teams microsoft-graph-teams

3
推荐指数
1
解决办法
9547
查看次数

如何使用 Microsoft Graph 创建 Microsoft Teams 会议作为应用程序?

我正在开发一个日历 Web 应用程序,我想在其中创建 Teams 会议并将会议(加入 URL)添加到约会。

由于并非所有用户都通过 Microsoft OAuth 2.0 登录进行登录,因此我必须在服务器端(作为应用程序)创建团队会议。我为我的应用程序创建了一个 Azure 应用程序注册,并为其分配了 API 权限“OnlineMeetings.ReadWrite.All”(应用程序)。我的应用程序正在使用客户端凭据身份验证流程。

现在实际问题是:

我尝试根据此 Microsoft 文档创建 onlineMeeting: Create onlineMeeting

文档说,我必须创建一个“应用程序访问策略”来创建 onlineMeetings 作为应用程序(允许应用程序代表用户访问在线会议

所以我的问题是:真的没有直接的方法来创建在线会议吗?在我看来,这是人们在 Teams 上下文中使用 Microsoft Graph 时想要做的最基本的事情。我不敢相信管理员必须付出如此多的努力并将自己与“Skype for Business Online”连接 - PowerShell(配置应用程序访问策略)并手动为每个用户授予权限。我认为 Azure API 权限应该完全涵盖类似的情况。

出于测试目的,我尝试了以下操作,但只得到了 Microsoft.Graph.ServiceException“代码:一般消息:找不到用户。”。我认为这是因为我的 AuthenticationProvider 是 ClientCredentialProvider 并且我正在访问用户的 API。

var client = new GraphServiceClient(azureService.ClientCredentialProvider);
        var onlineMeeting = new OnlineMeeting()
        {
            StartDateTime = start,
            EndDateTime = end,
            Subject = subject
        };
     
        var test = await client.Me.OnlineMeetings
            .Request()
            .AddAsync(onlineMeeting);
        
Run Code Online (Sandbox Code Playgroud)

因此,我也尝试了这种方式(Microsoft.Graph.ServiceException: 'Code: …

c# azure microsoft-teams microsoft-graph-teams microsoft-graph-api

3
推荐指数
1
解决办法
3858
查看次数

使用 Graph API 在 Microsoft Teams 的机器人通道中以机器人的身份向用户发送消息

我已通过遵循提到的步骤创建一个机器人DOC .I已经验证使用OAuth 2.0(AUTH码许可)用户如在所提到的文档,并反向我得到了访问令牌。但是当我使用 (/teams/{id}/channels/{id}/messages) A​​PI 向团队中的频道发送消息时,消息是代表我发送的。但我希望我的机器人作为消息的发送者。这是我使用上述 API 发送的消息的图像。有什么方法可以作为机器人向用户发送直接消息吗?

botframework microsoft-teams microsoft-graph-teams microsoft-graph-api

2
推荐指数
1
解决办法
1893
查看次数

无法在不提及 MS Teams bot 的情况下接收频道消息

我按照文档在 manifest.json 中添加了 webApplicationInfo 以包含 RSC 权限。但是,当消息中没有提到机器人时,我仍然没有收到任何消息活动。

"webApplicationInfo": {
    "id": "<i have updated app id here>",
    "resource": "https://AnyString",
    "applicationPermissions": [
      "ChannelMessage.Read.Group"
    ]
  }
Run Code Online (Sandbox Code Playgroud)

下面是我回显消息的代码:

protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken)
        {
            await turnContext.SendActivityAsync(MessageFactory.Text($"Echo: {turnContext.Activity.Text}"), cancellationToken);
        }
Run Code Online (Sandbox Code Playgroud)

我已经检查了 permissionGrant restful API(https://graph.microsoft.com/v1.0/groups/ { groupid }/ permissionGrants ),它包括“ChannelMessage.Read.Group”

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#permissionGrants",
    "value": [
        {
            "id": "<id ....>",
            "deletedDateTime": null,
            "clientId": "<client id ...>",
            "clientAppId": "<client app id ...>",
            "resourceAppId": "<resource app id ...>",
            "permissionType": "Application",
            "permission": "ChannelMessage.Read.Group"
        } …
Run Code Online (Sandbox Code Playgroud)

botframework microsoft-teams microsoft-graph-teams

2
推荐指数
1
解决办法
77
查看次数

如何为 Microsoft 团队机器人放置个人资料照片?

我有一个应用程序托管的媒体机器人,我想在将它添加到团队会议时更改它的个人资料图片。

我可以使用机器人频道注册设置来设置图标。请建议我如何设置图像,就像我们可以更改 Microsoft 团队中所有用户的个人资料照片一样。

问候, Aarushi

bots photo botframework microsoft-teams microsoft-graph-teams

0
推荐指数
1
解决办法
90
查看次数