问题标签 [csom]
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.
sharepoint-2010 - Sharepoint 2010 客户端模型。在分类字段中设置多个值
如何使用客户端模型在分类字段中设置多个值?对于单个值,我使用以下代码段:
它适用于单个值。
我尝试将 newTag 变量用作数组并尝试使用分隔符连接两个字符串{id};#{title}|{guid}
,;
但它不起作用。
任何人都可以帮忙吗?
c# - 是否可以使用 Microsoft.SharePoint.Client 以编程方式获取 Sharepoint 站点的时区?
是否可以在 C# 中使用 Microsoft.SharePoint.Client 以编程方式获取 Sharepoint 站点的时区?我需要 Sharepoint 站点时区以将其与特定时区匹配。
web-parts - 如何从 App 获取页面的 WebPartManager?
我正在尝试为添加了我的应用程序的页面获取 webPart 管理器。如何获取当前页面服务器的相对 URL?
sharepoint - 如何在 SharePoint CSOM 中检查用户是否为管理员
如何使用 SharePoint CSOM 检查当前用户是否是 SiteCollection 管理员?
c# - 使用 CSOM 将多个文件上传到 Sharepoint 会导致 SocketException
几周以来,我一直在 C# 中为 Sharepoint2010 使用客户端对象模型,我尝试使用 File.SaveBinaryDirect 上传文件并将文件添加到列表中,然后调用 ExecuteQuery。当我只上传几个大小 <= 3 MB 的文件时,这两种方法都是成功的。
但是,假设我尝试使用 SaveBinaryDirect 上传 10,000 个 10KB 的文件,它失败并出现 SocketException(地址已在使用中)。它在抛出此异常之前被调用了 2000 次,因此看起来它在任何 Time_wait 完成等待默认的 240 秒之前用完了所有端口。
使用 ExecuteQuery 方法,它可以工作,但这只是因为我批量上传它们,一批的大小始终低于 3 MB,并且一次上传的文件不超过 20 个。所以这个方法也有局限性:不能上传超过3MB的文件,还有抛出SocketException的风险。对于 10,000 个文件,该方法仅被调用 500 次。我猜想上传大量文件时,该方法也会被调用超过 2000 次,并引发与 SaveBinaryDirect 方法相同的错误。
现在,我不知道如何解决 CSOM 中的 SocketException 错误。有谁知道如何解决它?
我能做的是尝试捕捉,每次我捕捉到这个特定的异常,我都会等待 4 分钟,然后再次上传文件。我可以做的另一件事是使用选项 REUSE_ADDRESS 实现一个带有套接字的 Web 客户端,但我不确定我是否会浪费我的时间,而且我真的不是这方面的专家。
或者
有谁知道将任意数量的不同大小的文件(尽管它们必须始终低于默认的最大上传大小 50 MB)上传到 Sharepoint 的可靠方法?或者 Sharepoint2010 的哪些 API 可以为我提供这种可能性?甚至可以开始吗?
我可能会尝试使用 WebCopy.asmx 服务和/或 WCF 服务 listdata.svc,但我不确定我是否会再成功使用这些服务中的任何一个。它们看起来非常类似于通过 CSOM 使用 Client.svc。
javascript - 使用 CSOM 和 javascript 创建分类子术语
在 sharepoint 管理的元数据中,我发现很少有关于使用 javascript CSOM 管理术语的文档。我可以直接在术语集下创建一个分类术语,但我想在另一个术语下创建一个术语,就像在术语商店窗口中一样。
c# - 如何使用 CSOM 从/向 SharePoint 2013 下载/上传文件?
我正在开发一个 Win8(WinRT、C#、XAML)客户端应用程序 (CSOM),它需要从 SharePoint 2013 下载/上传文件。
如何进行下载/上传?
javascript - 设置分类字段多个值
我正在创建一个仅基于 javascript 的共享点托管应用程序。我想更新列表中的多值分类字段,所以我编写了这个不起作用的函数。对 javascript csom online 的支持很少。
我也使用了这段代码
sharepoint - AttachmentCollection 对象的 Sharepoint Online 2013 CSOM 构造函数错误?
我正在编写一个脚本来将项目从一个列表复制到另一个共享点在线服务器上。我正在使用 2013 sharepoint 客户端对象模型 (CSOM) 在 powershell ISE 中编写脚本。这应该是一件容易的事,但事实恰恰相反。到目前为止,我可以使用 camlquery 检索所有项目,我只是试图将这些项目及其附件复制到另一个列表。我收到的错误是尝试建立一个 attachmentCollection 以从任何项目中检索所有附件,这是代表问题的脚本的一部分:
错误消息显示:“列表存档失败:出现此错误消息:找不到构造函数。找不到 Microsoft.SharePoint.Client.AttachmentCollection 类型的合适构造函数。”
如果我也尝试将新对象创建为附件,我会得到同样的错误,找不到构造函数。这很奇怪,因为构造函数应该在 client.dll 中,但没有运气。我什至尝试修复我的 2013 CSOM 文件,但没有发现错误。对此的任何帮助表示赞赏,谢谢。
sharepoint - Powershell 中的 Sharepoint CSOM OpenBinaryDirect,找不到方法
我正在尝试使用 powershell 和 Sharepoint 2013 CSOM 将一个项目的附件复制到另一个列表中的新项目。我已经能够成功地为新项目生成附件文件夹,所以理论上我需要做的就是将文件从旧附件文件夹移动到新文件夹。CopyTo 和 MoveTo 似乎只适用于在列表中移动文件,所以我想将 OpenBinaryDirect 和 SaveBinaryDirect 与站点上下文一起使用。但是,在 powershell 中,调用这些方法中的任何一个都会导致以下错误:方法调用失败,因为 [System.RuntimeType] 不包含名为“OpenBinaryDirect”的方法。
任何有关使 BinaryDirect 方法工作或只是使用 powershell + CSOM 跨列表复制附件的通用策略的帮助将不胜感激。