我正在使用 Microsoft Teams Communications api(通过 Graph API)测试一些场景,但我遇到了一件事。我想从特定通话中检索参与者,但我不知道从哪里可以获取现有通话的通话 ID(由用户安排)?我尝试从会议网址获取 ID,但没有成功。您能帮我从哪里可以获取以下请求的呼叫 ID 吗?
获取https://graph.microsoft.com/v1.0/communications/calls/ {id}
我使用 Bot 框架 V4 创建了一个机器人并托管在 Teams 中。
我的机器人可供组织中的所有用户使用。
我想知道是否有人阻止了该机器人。
如果机器人被阻止,是否有任何 API 或来自机器人的任何事件可以知道用户 ID?
提前致谢
创建将使用 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
是否有任何解决方法可以使用代码在私人频道上创建、更新和删除对话?
botframework microsoft-teams microsoft-graph-teams microsoft-graph-api
我目前正在使用 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
我正在尝试使用 graph /getSchedule api 来检查会议冲突。但是,我不太了解请求输入字段“availabilityViewInterval”的功能和用法。
我的基本要求是传递开始和结束日期时间并查看资源是否可用(空闲/忙碌)。虽然我可以在 /getSchedule Api 中获取该信息,但不确定请求和响应中的某些字段。
“availabilityViewInterval”:这是一个请求字段,在文档中声明为可选,但在使用图形客户端时,我需要为此传递值。它接受 5 到 1440 之间的 int 值,但不确定它的作用以及我应该传递的值是什么?
“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
我正在按照Microsoft Graph 教程从 C# 创建聊天消息并将其发送到 Microsoft Teams 频道。
但是,在尝试创建对象时按照第一个示例时出现错误ChatMessage。( var chatMessage = new ChatMessage...) 的错误是:
找不到类型或命名空间名称“ChatMessage”(您是否缺少 using 指令或程序集引用?)
我已经在我的项目中添加了以下引用,但它们似乎都不包含ChatMessage类定义:
Microsoft.GraphMicrosoft.Graph.CoreMicrosoft.Graph.AuthChatMessage文档为我提供了有关资源类型的更多信息ChatMessage,但没有告诉我应该从哪里获取它。
我发现的唯一的其他东西是Windows.ApplicationModel.Chat.ChatMessage,但我在 Nuget 中找不到windows.applicationmodel.chat,而且我不确定这是否真的正确,因为图形教程页面上没有提及它。
为了能够使用ChatMessage教程中的对象,我做错了什么?
c# microsoft-graph-sdks microsoft-graph-teams microsoft-graph-api
我尝试找到一种在MS Teams的个人聊天中发送私人消息的方法。
我知道在“通道 > 连接器”中,我可以使用 Webhook 来实现此目的。不幸的是,我在个人聊天中找不到类似的内容。
我发现的唯一相关的是 MS Graph API,但这不是我想要的。
目前,我正在尝试使用电子邮件 API 作为替代方案
任何建议将不胜感激,谢谢。
我正在开发一个日历 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
我已通过遵循提到的步骤创建一个机器人DOC .I已经验证使用OAuth 2.0(AUTH码许可)用户如在所提到的文档,并反向我得到了访问令牌。但是当我使用 (/teams/{id}/channels/{id}/messages) API 向团队中的频道发送消息时,消息是代表我发送的。但我希望我的机器人作为消息的发送者。这是我使用上述 API 发送的消息的图像。有什么方法可以作为机器人向用户发送直接消息吗?
botframework microsoft-teams microsoft-graph-teams microsoft-graph-api
我按照文档在 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) 我有一个应用程序托管的媒体机器人,我想在将它添加到团队会议时更改它的个人资料图片。
我可以使用机器人频道注册设置来设置图标。请建议我如何设置图像,就像我们可以更改 Microsoft 团队中所有用户的个人资料照片一样。
问候, Aarushi
bots photo botframework microsoft-teams microsoft-graph-teams