我目前正在使用oAuth通过Calendars.ReadWrite
范围获取令牌,但它适用于用户拥有的所有日历。这是我的代码:
const PCA = new PublicClientApplication({
auth: {
clientId: "***",
authority: "https://login.microsoftonline.com/common",
redirectUri: "http://localhost:8080/"
}
});
PCA.loginPopup({ scopes: ["User.Read", "Calendars.ReadWrite"] })
.then((response) => {
console.log(response.accessToken)
})
.catch(function (error) {
console.log(error);
});
我想知道,有没有什么方法可以根据特定的日历获得令牌?我想有一个令牌,只适用于用户选择的相同日历,不适用于用户拥有的其他日历。
1条答案
按热度按时间2cmtqfgy1#
不幸的是,这是不可能的。权限位于Microsoft Graph级别,仅控制对特定端点的访问。
解决方法是有一个单独的帐户,用户可以与之共享他们的日历,而您将获得该帐户的令牌。
这里是an example of how you can get access to a shared calendar。