使用sharepoint跨域javascript库来使用localhost

时间:2016-03-16 12:05:41

标签: web-services rest sharepoint sharepoint-2013

我尝试从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页面,授权第三方申请:

  • app domain:localhost:8080
  • 重定向网址:http://localhost:8080(无意义?)
  • 权限请求XML:<AppPrincipal><RemoteWebApplication ClientId="*" /></AppPrincipal>

当我转到我的应用程序时,我已通过我的帐户进行了身份验证:Cookie中填充了FedAuthrtFa

中的令牌

我认为现在使用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错误代码。这很奇怪,因为当代码太重要时会使用此代码。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

如果应用程序未部署在同一个共享点站点域中,则无法使用该库...

我回退到OAuth协议以验证我的客户端。 以下文档是了解如何获取访问令牌的关键:https://github.com/wearearchitect/sharepoint-oauth-app-client/blob/master/docs/Credentials.md