问题标签 [microsoft-graph-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
7183 浏览

node.js - 如何使用 Microsoft Graph API 在 Outlook 上创建日历事件?

我有一个与 Office365 集成的应用程序,我正在尝试使用 Microsoft Graph API 在 Outlook 日历上创建一个日历事件。这是我到目前为止所拥有的:

问题是该事件未保存在用户 Outlook 日历上。另外,我在日志中没有收到错误。我怀疑我没有在请求中发送正确的表单数据。有任何想法吗?

更新:这是httpResponse我在日志中得到的:

更新 2:此链接标题为“创建事件”,并且似乎在请求和响应部分中都列出了响应,使其特别混乱: http: //graph.microsoft.io/docs/api-reference/v1。 0/api/event_post_instances 另外,在上面列出的链接中

什么是<id>?它没有告诉我 id 应该是什么?

更新 3:此链接也标题为“创建事件”,但它具有不同的 POST URL:

非常混乱。

0 投票
4 回答
1512 浏览

node.js - 为什么我对新访问令牌的请求没有返回新的刷新令牌?

我正在使用以下代码以及我的刷新令牌来请求新的访问令牌:

httpResponse包括我发出原始令牌请求(来自 )时获得的所有内容code,但没有新的刷新令牌。我的印象是我也会收到一个新的刷新令牌。不是这样吗?

0 投票
1 回答
202 浏览

office365 - 如何为原生应用实现管理员同意流程?

如何使用权限范围需要管理员同意的 O365 API 为本机应用程序实施管理员同意流程?

0 投票
1 回答
1505 浏览

c# - 缺少 UPN 和 PUID 声明

我目前正在尝试使用以下代码从Microsoft Graph访问特定资源:

GetToken 返回预期的授权 Bearer Token,但是当代码到达:

响应状态码是 400,内容“消息”给了我一个“缺少 UPN 和 PUID 声明”。

鉴于我对 Microsoft Graph 还很陌生,我不明白这到底意味着什么。如果我的逻辑或 AAD 应用程序的某些配置有误。我已经尝试过这个解决方案,但遗憾的是我无法理解它。

非常感谢您的意见,我只询问我应该去哪里解决这个问题。

提前致谢。

0 投票
1 回答
326 浏览

asp.net-mvc - 服务应用程序的 Microsoft Graph API 身份验证

我们正在使用Microsoft Graph开发一个 Web 应用程序,登录用户可以在其中将所有日历事件导出到第三方日历应用程序。在此初始导出之后,我们需要通过服务应用程序(在服务器上运行的计划任务)使导出的数据与日历更改保持同步。这需要是一个多租户应用程序,因为来自不同组织的人应该能够使用此服务。

现在我们使用 OAuth 2.0 和 OpenID Connect 进行身份验证,如本示例中所述。后来我们了解到,如果没有用户交互,我们使用这种方法获得的访问令牌不能在服务应用程序中使用。考虑到我们的场景,实现这一目标的最佳方法是什么?

我已阅读有关仅应用程序的授权方法来执行此操作。如果我们使用这种身份验证方法,应用程序需要得到租户管理员的同意,并且这些应用程序在他们可以访问 Office 365 组织中的哪些数据方面非常强大。考虑到我们正在开发不同组织使用的产品,使用这种方法是否可行?

0 投票
1 回答
282 浏览

c# - Microsoft Graph 客户端未在 requiredResourceAccessList 中指定资源

尝试检索 AccessToken 时出现以下错误。

/MicrosoftGraph/Authorise?error=access_denied&error_description=AADSTS65005%3a+The+client+application+has+requested+access+to+resource+%27https%3a%2f%2fgraph.microsoft.com%2f%27.+This+request+已+失败+因为++客户端+已+未+指定+此+资源+in+其+requiredResourceAccess+列表。%0d%0aTrace+ID%3a+7cd46ad3-d294-41ad-98ec-6ef06db7a0db%0d%0a相关性+ID%3a+4e2a6d3b-b3dd-4a98-b36d-550d8f8c3382%0d%0aTimestamp%3a+2016-01-27+10%3a40%3a12Z

这是... graph.microsoft.com 此请求失败,因为客户端未在其 requiredResourceAccess 列表中指定此资源

它是 Azure Active Directory 中的多租户应用程序。我可以使用我的一个电子邮件 ID 成功登录,但不能使用另一个。

我哪里错了?我错过了什么?

代码片段:

我试过以下

使用第二个,身份验证成功,但每当我使用现有代码访问 OneDrive for business 帐户中的文件列表或创建文本文件时,它都会在进行 API 调用时引发未经授权的异常。

0 投票
2 回答
6762 浏览

office365 - Skype for Business Online (Office 365) 用户的状态信息

对不起,如果我提供了太多细节并且它不同步。

我的问题是,有什么方法可以将 Skype for Business Online (Office 365) 用户的状态信息显示到我们的 Web 应用程序中?

在我们的 Web 应用程序中,我们希望为我们的工作人员用户提供能力,使用这些能力他可以查看状态或与轮班超级聪明的用户聊天。我们不想对本地 Skype for business 服务器进行任何配置,我们希望通过云来实现。我们使用 HTML 5、JavaScript、C# 进行开发。

我们有 Office 365 订阅,我们为少数用户配置了一个 azure 活动目录。我认为我们需要使用 Microsoft Graph API 执行身份验证。

我在谷歌上搜索发现,

*

使用 Skype Web API 创建的应用程序是否能够与 Skype for Business Online (O365) 用户进行通信?

回答:目前 Skype Web API 应用程序需要本地本地 Lync 2013 或 Skype for Business 服务器。在线功能在路线图中,但我们目前没有发布日期。

*

Skype Developer Platform 的文档列出了与 Skype 通信的各种 SDK 和 API。只有 Lync 2013 SDK 支持 Skype for Business online 但不幸的是它不支持 html 和 javascript

0 投票
1 回答
314 浏览

microsoft-graph-api - 从仅应用范围的 Microsoft Graph 获取任务列表

是否可以在服务应用程序中使用 Microsoft Graph API ( http://graph.microsoft.io/docs/api-reference/beta/api/task_list ) 检索任务列表?

我可以成功请求具有以下所有范围的令牌:

  • 日历.阅读
  • Calendars.ReadWrite
  • Contacts.Read
  • Directory.AccessAsUser.All
  • 目录.阅读
  • 项目清单
  • 目录.阅读.全部
  • Directory.ReadWrite.All
  • 电子邮件
  • 文件.读取
  • Files.Read.Selected
  • 组读全部
  • Group.ReadWrite.All
  • 邮件阅读
  • 邮件.发送
  • 笔记.创建
  • 笔记.阅读
  • 笔记.阅读.全部
  • Notes.ReadWrite.All
  • 离线访问
  • 打开ID
  • 人。读
  • 轮廓
  • Sites.Read.All
  • Tasks.ReadWrite
  • 用户读
  • 用户阅读全部
  • User.ReadBasic.All
  • 用户读写
  • User.ReadWrite.All
  • user_impersonation

我能够获取用户、组、应用程序和其他实体的列表,但我对tasksplans端点的请求返回以下错误:

我的期望是Group.ReadWrite.All作为应用程序继承自Directory.ReadWrite.All,因此Task.ReadWrite我应该能够看到任务和计划。

是否还有其他必需的权限或我们错过的其他设置?

0 投票
2 回答
517 浏览

onedrive - OneDrive 上的 Microsoft Graph API 在检索子项时返回错误

我已经对 OneDrive 进行了身份验证,并正在尝试使用 Microsoft 图形 API 对其进行查询。我尝试了记录在案的查询:

https://graph.microsoft.com/v1.0/drive/root/children

但是,这会返回一个带有 JSON 正文的 HTTP 500,其中包括:

其他一些查询,例如 /drive/root 和 /drive/root:/Documents 工作正常,但我无法让孩子列出。

0 投票
1 回答
386 浏览

onenote - Cannot create notebook immediately after creating group (modern group not

With Microsoft Graph I would like to create a Group and then after that create a Notebook (onenote) in that group directory.

First I execute a HTTP call to :

POST /groups

with the required access token in the header and JSON object of the Group in the body. (http://graph.microsoft.io/en-us/docs/api-reference/beta/api/group_post_groups). If successful it will return a JSON object with the complete property of the group.

So far there was no problem, I've managed to get the {ID} (in GUID) of the group which will be required to create a notebook. Let's say for this example the {ID} of my Group is 123456789-abcd-4321-bbbb-9876543210aaa

Next for the notebook I execute a HTTP call to :

POST /groups/{ID}/notes/notebooks

And then I got following JSON response :

I've tried so many things to get a workaround for this issue. One time I set a break point between the method to create group and the method to create notebook in my program. I ran my program until the point it has finished creating the group. Then I stop, and try to open notebook tab from Office365 website in the browser and I found this :

enter image description here

In English it means "We are creating your notebook. It may take a few minutes. We will finish this even if you close the browser". I took about 10 seconds before I was redirected to OneNote Online page (the url is my sharepoint tenant name).

After that I continue my program and suddenly it successfully created the notebook.

I need some help here! I need to create the notebook immediately after creating the group without having to open up a browser. I think it has something to do with sharepoint sites creation for the Group.

Any help would be appreciated!