C# SharePoint Online中的Excel Services
我在本地SharePoint上发布了使用Excel Services的工作代码:C# SharePoint Online中的Excel Services,c#,excel,sharepoint-2013,sharepoint-online,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
var _service = new ExcelService { UseDefaultCredentials = true };
Status[] _status;
var _sessionId = _service.OpenWorkbookForEditing("http://<sharepoint url>/<list>/<file>.xlsx", "en-US", "en-US", 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 };
var\u pass=new SecureString();
foreach(char_c在“.ToCharArray()){{u pass.AppendChar(_c);}
var _cred=新的SharePointOnlineCredentials(“,_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);
}
//登录测试
使用(ClientContext\u sp=new ClientContext(“”{Credentials=\u cred})
{
var\u web=\u sp.web;
_sp.Load(_web);
_sp.ExecuteQuery();
Console.WriteLine(_web.Title);
}
我错过了什么
- 这似乎是一个身份验证问题,但很难判断,因为错误消息非常不透明。我如何才能找到有关错误的更多详细信息
- Excel Services是否仅针对特定许可证公开李>
请注意,我可以使用Excel REST API,但这在我的场景(繁重的编辑)中不起作用。听起来您使用Excel Services还不错,但Excel Services实例在访问您的文件时遇到了问题。您是否已验证您的Excel Services实例对保存文件的任何位置都具有权限?(看起来您正在某个位置将其存储在SharePoint列表中。)我们能找到解决方案吗?
// 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);
}