我尝试从localhost中部署的应用程序中使用sharepoint rest API。 sharepoint站点在Sharepoint 2013在线托管。
为此,我使用javascrpt跨域库。我在这里得到一个例子https://github.com/OfficeDev/SharePoint-Add-in-REST-OData-CrossDomain。
我的应用程序是一个完整的静态网站,我没有VS,所以我试图找出Add In授权。我转到我网站的_layouts/15/appinv.aspx
页面,授权第三方申请:
<AppPrincipal><RemoteWebApplication ClientId="*" /></AppPrincipal>
当我转到我的应用程序时,我已通过我的帐户进行了身份验证:Cookie中填充了FedAuth
和rtFa
我认为现在使用API应该足够了:
var executor = new SP.RequestExecutor(addinweburl);
executor.executeAsync(
{
url:
addinweburl + "/_api/web/GetFolderByServerRelativeUrl('Shared%20Documents')"
,
method: "GET",
headers: { "Accept": "application/json; odata=verbose" },
success: function(e) {
alert('success');
},
error: function(e, c, d) {
alert('fail');
}
}
);
调用错误处理程序并发送1007错误代码。这很奇怪,因为当代码太重要时会使用此代码。
感谢任何帮助。
答案 0 :(得分:0)
如果应用程序未部署在同一个共享点站点域中,则无法使用该库...
我回退到OAuth协议以验证我的客户端。 以下文档是了解如何获取访问令牌的关键:https://github.com/wearearchitect/sharepoint-oauth-app-client/blob/master/docs/Credentials.md