我一直在努力获取访问密钥,以从共享点站点访问一些信息以显示在另一个基于浏览器的应用程序中。我唯一拥有的凭据是ClientID和客户机密。
经过反复试验,我能够使accestoken请求在邮递员中运行,但是当我在浏览器中尝试该请求时,该请求被CORS阻止了。
这是请求的外观(由邮递员生成,稍有变化):
var data = new FormData();
data.append("grant_type", "client_credentials");
data.append(
"client_id",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
);
data.append("client_secret", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
data.append(
"resource",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
);
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function() {
if (this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open(
"GET",
"https://accounts.accesscontrol.windows.net/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/tokens/OAuth/2"
);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(data);
是否有从浏览器调用SharePoint API的好方法?我在文档中找不到任何可以帮助我的东西。
如果我需要添加更多信息,请询问我。在此问题上停留了一段时间,并希望解决它。
谢谢!