问题标签 [sharepoint-online]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
datetime - 无需毫秒即可将 JavaScript DateTime 转换为 UTC
现在,我正在尝试将以人类可读格式写入的日期解析为 SharePoint 列表将接受的 DateTime 字符串。为了做到这一点,我确定我需要一个类似于 ISO 格式的字符串,如下所示:2007-08-20T00:00:00Z
。似乎 SharePoint 只接受 UTC 中不包含毫秒的 DateTimes(无论出于何种原因,SharePoint 都会给出错误,并且在包含毫秒时不会接受 DateTime),所以我需要将我的本地时间转换为 UTC 时间之前将其转换为 ISO 字符串。
这是下面的代码正在使用的过程。
- 首先,我使用 DateJS 将我的人工日期解析为 JavaScript 日期。(工作正常,但显然 DateJS 已被放弃,所以也许我应该将其更改为使用 MomentJS。)
- 接下来,我尝试在 UTC 中创造一个新的时刻。(这条线非常非常错误,并且使我的程序崩溃。)
- 然后我让 SPServices 将其转换为 ISO。SPServices 会减少 DateTime 的毫秒数,以便 SharePoint 接受它。(工作正常)。
我确信必须有一种更优雅/更有效的方式来实现这一点,而不是将 3 个不同的库拼接在一起。我只是不确定它是什么。
javascript - 读取存储在 SharePoint 列表中的用户
我需要获取存储在 SharePoint 列表中的用户的信息,例如标题、ID 和登录名。
基本上我的情况是这样的:我有一个“组织联系人”列表,其中包括特定用户的 Office365Account,以及与该用户关联的经理。这两个字段都是 SharePoint“人员”字段。
下面的代码是我的尝试:
- 查询列表以获取具有与当前用户匹配的 Office365Account 的项目(行)。
- 从该项目(行)中读取经理字段。
我知道我正在尝试的技术有问题,因为当var managerName
未注释开头的行时应用程序会冻结。Chrome 开发工具似乎告诉我所有其他线路都在工作,或者至少不会导致错误,所以我认为问题出var managerName
在线路上。
sharepoint - 将 SharePoint 用户写入 SharePoint 列表中的用户字段的正确方法
我正在将用户写入 SharePoint 列表。
我读过 SharePoint 用户字段里面有一个这样的字符串:
userId;#userLoginName
在写入用户字段时,我尝试以相同的方式进行格式化,例如,当我编写此字符串时,它可以工作:
9;#i:0#.f|membership|ectropy@example.org
但奇怪的是(至少对我来说)这9;#
似乎有效,甚至9
. 即使我根本不传递userLoginName
信息,它loginId
似乎也足以识别我正在谈论的用户。
这似乎意味着在写入 SharePoint 用户字段时,您只需要 id 和userLoginName
,或者实际上,后面的所有内容loginId
都无关紧要。
我在这里的推理是否正确?或者,如果我省略了 userLoginName 信息,可能会产生意想不到的后果?
sharepoint - 以编程方式在 SharePoint 列表中启用内容批准(审核)
我正在编写一个创建自定义事件列表的应用程序。
我想在创建列表时启用内容批准(也称为后端的审核)。
这是我的列表创建代码的样子。
不幸的是,这似乎.set_enableModeration(true);
没有效果。我没有收到任何错误,但是当我查看使用此代码创建的列表的设置时,我看到:
所以内容批准显然没有通过我使用的方法启用。
twitter-bootstrap - 提示输入 for 循环中的每个项目
页面加载后,我尝试使用下面的 JavaScript 函数在 SharePoint 列表中查看是否有当前用户是经理的请求,如果有,允许他们批准或拒绝这些请求。
我的问题是我认为我可以使用引导模式来提示用户输入每个未批准的请求。例如,向他们提供有关请求的一些信息,然后他们可以决定单击接受或拒绝按钮以使用类似于下面模型的提示进行判断。一旦他们对这个请求做出决定,我将运行一些代码来记录他们对这个请求的决定,然后应该提示他们下一个请求,直到 for 循环退出。
不幸的是,只有一个引导模式弹出,它在 for 循环完成后显示——这不符合每个找到的匹配项的提示的期望行为。
我基本上不确定实现这一目标的最佳方法是什么。似乎警报和确认框像我想要的那样“暂停”执行,并按预期行事。(例如,如果我有 2 个未批准的请求和 1 个已批准的请求,上面的代码会按预期弹出两个“确认”框和一个“警报”。)但是它们的样式根本不适合我的应用程序的其余部分,并且他们还有一个“X”按钮,我不想在我的提示中出现(他们应该被迫明确地点击接受或拒绝。)
关于我应该采取什么方法的任何建议?
javascript - SharePoint Online REST - 通过 JavaScript/AJAX 上传图像
我正在尝试使用本机 JavaScript/jQuery 将图像上传到 SharePoint - 而不是 SP.RequestExecutor。
我已经破解了身份验证问题,很好很简单,所以现在只是一个解决如何上传二进制文件的案例。如果我在文件中放入纯文本,它可以正常上传,这只是我遇到问题的二进制数据。
到目前为止,我的代码包含在下面。getToken()
确实是这样,让我有一个有效的摘要对象可供使用。另请注意,我已经用*
's 删除了文档库名称。
我尝试了许多不同值的组合contentType
,设置binaryStringRequestBody: true
但图像在进入 SharePoint 时仍然损坏。
我目前将文件解析为二进制的代码是
一个文件正在上传到 SharePoint,但如果我尝试查看或下载它,它就会损坏。
任何人都可以就将二进制文件上传到 SharePoint 的正确方法提供任何指导吗?我应该提到,如果我用文件上传替换(在 ajax 调用上)data: fileData,
并且data: "A simple string",
当我下载它时,文件的内容是A simple string
.
sharepoint-2013 - 使用客户端对象模型以编程方式发送 SharePoint 警报
我想知道是否可以使用 CSOM 以编程方式发送 SharePoint 警报。
我正在创建一个应用程序,如果我可以使用 JavaScript 向用户发送消息会很有用,但在我看来,没有一种方法可以在不让用户手动单击“提醒我”的情况下设置提醒并自行设置警报。
如果它绝对不能完成,我想知道,所以我可以研究其他方法。
c# - 自动刷新 Excel 文件中与 Sharepoint 库的外部数据连接
我有一个要求,我必须在某些时候刷新 SharePoint Online 上的 Excel 文件中的外部数据。获得身份验证并使用 csom 获取文件不是问题。问题是当使用 com 刷新外部数据源时, com 没有经过身份验证。Microsoft.Office.Interop.Excel 中似乎没有刷新数据可以使用 fedauth cookie 的功能。或者我应该将 fedauth coockie 写在 Excel 可以找到的磁盘上某个地方吗?
c# - 通过客户端对象模型中的代理服务器连接到 SharePoint Online
我有一个桌面应用程序,我在其中使用 CSOM 直接连接到 SharePoint Online 网站。现在的问题是这个请求必须通过代理服务器进行。到目前为止,我所做的是已将代理服务器设置传递给 ClientContext 的 ExecutingWebRequest 事件,包括凭据。但是,问题在于 SharePointOnlineCredentials 类。我必须设置 ClientContext 的凭据。当我将用户 ID 和密码传递给此类的构造函数时,它在内部向 SP 发出请求以验证凭据。现在,我无法将代理 ID/密码设置/传递给此类,这就是代理服务器拒绝我收到 IdcrlException 的请求的原因。以下是我目前使用的示例代码。
该代码预期在不需要任何身份验证的代理服务器上成功运行。这是我无法配置的 SharePointOnlineCredentials。我还尝试使用 NetworkCredentials 代替 SharePointOnlineCredentials。代码编译成功,但 SP 抛出 Forbidden 异常。
office365 - 等待沙盒代码执行请求在工作进程中完成时超时
我正在使用 Sharepoint 2010 Online (BPOS) 站点。
我在列表编辑表单中部署了一个可视沙盒解决方案。该列表包含大约 4000 行。
现在,当用户尝试编辑列表项时,我遇到了超时错误。但是当用户尝试更多时间时,编辑表单会打开。
这个问题的原因和解决方法是什么?