在SharePoint Online中的Excel Services
我有一个工作代码,使用在本地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
的有效Web引用
但是,在SharePoint Online上使用Excel Services时,相同的代码不起作用。
我能够得到API版本:
_service.GetApiVersion(out _status);
Excel Web服务(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); }
我错过了什么?
- 这似乎是一个身份validation问题,但很难说,因为错误信息是非常不透明的。 我怎样才能find有关错误的更多细节?
- Excel Services是否仅针对特定许可证公开?
请注意,我可以使用Excel REST API,但在我的scheme中不起作用(大量编辑)。