【发布时间】:2016-05-02 16:58:13
【问题描述】:
我正在使用 JavaScript 构建一个单页应用程序来访问用户的 OneNote 笔记本。
以这个 git 项目为起点:https://github.com/OfficeDev/O365-Angular-Microsoft-Graph-Connect
我在 Azure AD 中设置了对 MS 图形具有完全权限的应用。
我可以登录并获取不记名令牌,但是我无法使用此端点从我的 OneNote 笔记本中提取任何信息: graph.microsoft.com/beta/me/notes/notebooks。
这是我的功能:
function connectToOneNote(){
var request = {
method: 'GET',
url: 'https://graph.microsoft.com/beta/me/notes/notebooks',
};
// Execute the HTTP request.
$http(request)
.then(function (response) {
$log.debug('HTTP request to Microsoft Graph API returned successfully.', response);
response.status === 202 ? vm.requestSuccess = true : vm.requestSuccess = false;
vm.requestFinished = true;
}, function (error) {
$log.error('HTTP request to Microsoft Graph API failed.');
vm.requestSuccess= false;
vm.requestFinished = true;
});
};
我收到此错误:“无法检索此用户帐户的 OneDriveForBusiness。”
但是,当在图形资源管理器中使用端点:https://graph.microsoft.io/en-us/graph-explorer 时,我的笔记本被毫无问题地检索。
有什么想法吗?
【问题讨论】:
-
你确定,你已经在你的 Azure manfist 中设置了正确的授权吗?
-
谢谢。是的。我为应用程序提供了对 ms graph 的提升权限,并将 oauth2AllowImplicitFlow 值更改为“true”。你认为还有更多吗?
-
您能否更具体地定义“MS 图的完全权限”。您是否检查了 AAD 门户中的每个权限(针对用户和应用权限,还是仅针对应用权限?)对于您的场景,这听起来像是权限过多,尽管您收到的错误听起来与此问题不对应,我们也许可以通过回拨到适当的 OneNote 权限并从那里开始工作来取得进展。
标签: javascript onenote microsoft-graph-api