SharePoint Online中的Excel Services

时间:2015-05-21 16:19:30

标签: c# excel sharepoint-2013 sharepoint-online

我使用在本地SharePoint上发布的Excel Services有一个工作代码:

var _service = new ExcelService { UseDefaultCredentials = true };
Status[] _status;
var _sessionId = _service.OpenWorkbookForEditing("http://<sharepoint url>/<list>/<file>.xlsx", "en-US", "en-US", out _status);

ExcelService是指向http://<sharepoint url>/_vti_bin/excelservice.asmx

的有效网络参考

但是,在SharePoint Online上使用Excel Services时,相同的代码不起作用。

我可以获得API版本:

_service.GetApiVersion(out _status);
  

Excel Web Services(16.0)

但是打开工作簿会引发SoapException

  

我们找不到您想要的文件。

我尝试传递凭据:

var _pass = new SecureString();
foreach (char _c in "<SP Online password>".ToCharArray()) { _pass.AppendChar(_c); }
var _cred = new SharePointOnlineCredentials("<SP Online login>", _pass);
var _service = new ExcelService { Credentials = _cred };

凭据似乎有效,即此代码有效:

// login test
using (ClientContext _sp = new ClientContext("<SP Online url>") { Credentials = _cred })
{
    var _web = _sp.Web;
    _sp.Load(_web);
    _sp.ExecuteQuery();
    Console.WriteLine(_web.Title);
}

我错过了什么?

  • 这似乎是一个身份验证问题,但由于错误消息非常不透明,因此很难判断。如何找到有关错误的更多详细信息?
  • Excel Services是否仅针对特定许可证公开?

注意,我可以使用Excel REST API,但这在我的场景中不起作用(大量编辑)。

0 个答案:

没有答案