首页 > 解决方案 > 从 JavaScript 应用程序在线生成 SharePoint 点的访问令牌时出现 Cors 错误

问题描述

任何帮助深表感谢。我正在尝试将 HTML 表单中的数据保存到 SharePoint Online 中的列表中。我正在使用 SharePoint REST API 将项目添加到列表中。生成访问令牌的 Ajax 调用引发 CORS 错误。

$.ajax({
  url: "https://accounts.accesscontrol.windows.net/tenant_id/tokens/OAuth/2",
  type: "POST",
  data: JSON.stringify({
    "grant_type": "client_credentials",
    "client_id": "<client_id>",
    "client_secret": "<client_secret>",
    "resource": "00000003-0000-0ff1-ce00-000000000000/site_url@tenant_id"
  }),
  headers: {
    "contentType": "application/x-www-form-urlencoded",
  },
  success: function() {},
  error: function() {}
})

注意:此代码在邮递员中返回访问令牌。如果我在 SharePoint REST API 中使用该访问令牌,我可以将数据添加到列表中。所以挑战是从我的 JavaScript 应用程序而不是 Postman 生成访问令牌。
我不能使用 MSAL,因为我不想在 Azure AD 中注册我的应用程序。我不想要临时修复,比如使用 chrome 扩展来修复 cors 错误或修改 IIS 中的重写规则。

我是 SharePoint 的新手,因此对替代方法的任何见解也会有所帮助。

标签: sharepoint-onlineajaxform

解决方案


推荐阅读