我尝试按照此权限指南在node.js上使用Microsoft Graph API(https://graph.microsoft.com/v1.0/me/calendarView)访问日历事件,但收到错误响应:
{
"code": "ErrorAccessDenied",
"message": "Access is denied. Check credentials and try again.",
"innerError": {
"request-id": "7c2...",
"date": "2016-07-13T21:19:11"
}
}
调用是使用 :
request({url : 'https://graph.microsoft.com/v1.0/me/calendarview', qs : queryParams, 'auth': {'bearer': token}}, function (error, response, body) {
...
});
请求具有有效令牌和对…/me/via的调用
request({url : 'https://graph.microsoft.com/v1.0/me/', 'auth': {'bearer': token}}, function (error, response, body) {
...
});
退货:
{"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users/$entity",
"id":"<valid_id>",
"businessPhones":[],
"displayName":"<valid_name>",
"givenName":"<valid_name>",
"jobTitle":"<valid_title>",
"mail":"<valid_email>",
"mobilePhone":"<valid_cell>",
"officeLocation":null,
"preferredLanguage":"en-US",
"surname":"<valid_name>",
"userPrincipalName":"<valid_email>"}
因此,我假设这是在我创建了两个应用程序(一个用于节点服务器,一个用于 Web 客户端应用程序)https://manage.windowsazure.com/ 上设置的权限的问题。我正在使用护照进行身份验证,并使用客户端 ID 和密钥进行 Web 客户端应用程序。
var AzureOAuthStrategy = require('passport-azure-oauth').Strategy;
passport.use(new AzureOAuthStrategy({
clientId: config.live.clientID,
clientSecret: config.live.clientSecret,
tenantId: config.live.tenant,
resource: 'https://graph.microsoft.com/',
redirectURL: config.live.callbackURL
},
function(accessToken, refreshToken, profile, done) {
以下是我在节点应用程序上为“其他应用程序的权限”设置的内容:
下面是我在web客户端应用程序上为“其他应用程序的权限”设置的内容:
我不能100%确定azure管理门户中设置的权限和特定endpoint访问之间的关系。我已经阅读了API scope文章,但是那篇文章中的讨论对于我的需要来说有点太概念化了。
最终,我尝试访问租户 ID 中的所有可保留资源并将其写入事件。
我能够通过删除然后通过 https://manage.windowsazure.com/ 重新生成应用程序,然后更新客户端 ID 和密钥来解决此问题。事后,我能够从应用程序列表中删除本机客户端(节点)应用程序,并且仍然可以使调用正常工作。
虽然我没有使用飞雪提供的参考https://jwt.io/,但我认为它对于将来调试Azure到API权限将是无价的。
我正在尝试用office 365 API构建我的第一个应用程序,但有一个大问题。 我正试图通过Office 365 API和Azure Active Directory获取用户的主要信息,为此我正在做: 1)获取访问令牌。对https://login.windows.net/common/oauth2/token令牌的http post请求: 头:内容类型:应用程序/x-www-表单-乌伦编码 发
我不熟悉使用EWS管理的API。 以下是我在使用EWS API时遇到的问题:EWS API -模拟更新由服务帐户之外的任何其他用户创建的日历项目,引发错误“访问被拒绝”。请检查凭据,然后重试。 详细信息:1.我正在使用服务帐户,例如。abc@xyz.onmicrosoft.com.此用户是全局管理员,并且还分配了ApplicationImpersonation角色。(登录Online Office
我按照这个链接创建我的第一个docker映像,它成功了,现在我正试图从这个链接将这个映像推送到我的docker存储库中。但每当我试图将此图像推入存储库时,就会出现这种类型的错误。 有人能给我一些关于这个问题的提示吗?任何帮助都将不胜感激。 注意:我已成功登录docker
我正在使用jdbc和Tomcat服务器。它已经完美运行了一个星期,它突然崩溃了。我还注意到我什至不需要密码即可从命令行登录mysql。这是我的代码: 下面是catalina.out的堆栈跟踪:
我有以下代码: 当我试图保存一个文件时,我得到了以下错误 原因是什么?我该如何解决?我对这个文件夹有读写权限。
问题内容: 这是我的编辑从第27行到第39行的代码: 我认为我的问题可能与Win7教授有关:(访问被拒绝) 如何解决这个问题,或者我需要做些什么或阅读才能使它起作用? 谢谢你不燃烧。 我只是更改了文件夹选项,使我获得完整的(Access …),现在我只需要弄清楚为什么在运行javac VendingMachine.java时为什么没有得到任何输出,我想是有一个新问题。 问题答案: 您的工作目录为。