我尝试从Azure Ad Graph API
代码中调用typescript
,但我一直收到错误:Unauthorized
lavaNET.SharePointREST.getJsonWithoutSite(this, "https://graph.windows.net/lavanet.dk/users?api-version=1.6", (tmplData: any, tmplTextStatus: string, tmplXHR: JQueryXHR) => {
console.log(tmplData)
});
export function getJsonWithoutSite(context: any, url: string, success: SuccessCallback, failure?: ErrorCallback) {
$.ajax({
method: 'GET',
context: context,
headers: {
'Authorization': 'Bearer zc21eb27-760b-4b46-828e-xxxxxxxxxxxxx',
'Content-Type': 'application/x-www-form-urlencoded'
},
url: url,
dataType: 'json',
accepts: { json: 'application/json; odata=verbose' },
success: success,
error: failure || function (jqXHR, textStatus, errorThrown) { alert('Error: ' + errorThrown); }
});
}
有人可以指出为什么我无法从广告中获取数据吗?
更新在回复Gary Liu - MSFT
时,我从他的代码中获取了这些密钥:
我的Ajax是否正确以及我应该使用什么密钥?
答案 0 :(得分:0)
您已生成访问令牌,并在Authorization
标题中设置。
我们需要手动关注OAuth 2.0 authorization flow以实现在我们的应用程序中从Azure AD获取访问令牌的功能。
此外,您可以轻松利用ADAL SDK在您的应用中实现此功能。但是,目前没有这样的ADAL存在。您可以尝试将ADAL for js用于大访问令牌,将其存储在会话存储或客户端浏览器中的本地存储中。并在ts脚本中使用令牌。
这是一个sample,用于在普通javascript中为js使用ADAL。