我需要找到给定站点的Web应用程序的URL(假设我有一个URL http:// code/sites/java.鉴于此网站集的URL,我需要托管此网站集的Web应用程序的URL在这种情况下,它将是http:// code.)任何输入都将受到赞赏.
我有自定义页面和列表项的ID.如何从我的页面显示sharepoint版本历史记录对话框?
我有这样的共享点请求:
/_api/web/getFolderByServerRelativeUrl('<folder-rel-url>')/ListItemAllFields/getusereffectivepermissions(@u)?@u='<account>'
Run Code Online (Sandbox Code Playgroud)
响应如下:
<d:GetUserEffectivePermissions m:type="SP.BasePermissions">
<d:High m:type="Edm.Int64">176</d:High>
<d:Low m:type="Edm.Int64">138612833</d:Low>
</d:GetUserEffectivePermissions>
Run Code Online (Sandbox Code Playgroud)
我不明白这是什么意思。
我找到了几个如何解析它的代码示例,但是这段代码用 javascript 编写并使用特殊的 Object( SP.BasePermissions)
function parseBasePermissions(value)
{
let permissions = new SP.BasePermissions();
permissions.initPropertiesFromJson(value);
let result = {};
for(var levelName in SP.PermissionKind.prototype) {
if (SP.PermissionKind.hasOwnProperty(levelName)) {
var permLevel = SP.PermissionKind.parse(levelName);
if(permissions.has(permLevel))
result[levelName] = true;
else
result[levelName] = false;
}
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
如何正确解析呢?我想知道用户是否可以读取该文件夹
这是我将代码中的文件从源复制到目标的代码.使用下面的代码我只能复制文件而不能复制文件夹.关于如何复制文件夹和这些文件夹中的文件的任何想法?
using (SPSite objSite = new SPSite(URL))
{
using (SPWeb objWeb = objSite.OpenWeb())
{
SPList objSourceList = null;
SPList objDestinationList = null;
try
{
objSourceList = objWeb.Lists["Source"];
}
catch(Exception ex)
{
Console.WriteLine("Error opening source list");
Console.WriteLine(ex.Message);
}
try
{
objDestinationList = objWeb.Lists["Destination"];
}
catch (Exception ex)
{
Console.WriteLine("Error opening destination list");
Console.WriteLine(ex.Message);
}
string ItemURL = string.Empty;
if (objSourceList != null && objDestinationList != null)
{
foreach (SPListItem objSourceItem in objSourceList.Items)
{
ItemURL = string.Format(@"{0}/Destination/{1}", objDestinationList.ParentWeb.Url, objSourceItem.Name);
objSourceItem.CopyTo(ItemURL);
objSourceItem.UnlinkFromCopySource();
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用rest api在线更新sharepoint中的多项选择字段。我收到 401 错误请求错误。
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("XXXXX/_api/web/getfilebyserverrelativeurl('/sites/Sample/TestDoc.docx')/ListItemAllFields/");
string stringData =
@"{'__metadata': { 'type':'SP.ListItem' },
'TestColumn': { '__metadata': { 'type' : 'Collection(Edm.String)', results: ['Test1']}}}";
request.ContentLength = stringData.Length;
StreamWriter writer = new StreamWriter(request.GetRequestStream());
writer.Write(stringData);
writer.Flush();
response = (HttpWebResponse)request.GetResponse();
Run Code Online (Sandbox Code Playgroud)
有什么帮助吗?
我在 Microsoft Graph 中执行以下查询:
var results = await SPLists["<my-list-name>"]
.Items
.Request()
.Expand("fields")
.GetAsync();
Run Code Online (Sandbox Code Playgroud)
它获取我在 SharePoint 中拥有的列表的列表项。该列表中的一列的类型为“个人或组”。在 Microsoft Graph 的响应中,它返回如下所示的列数据(例如):
{
"LookupId": 335,
"LookupValue": "John Doe"
}
Run Code Online (Sandbox Code Playgroud)
我如何利用这些数据?如何355使用 Microsoft Graph 获取身份识别人员的完整个人资料?我需要返回者的电子邮件地址。如何使用 Microsoft Graph SDK 获取该信息?
sharepoint sharepoint-api sharepoint-list microsoft-graph-api
我需要使用 Python 脚本通过客户端凭据身份验证流程将文件上传到 SharePoint Online 网站。我是租户管理员,并尝试授予仅应用程序访问权限(如此处所述),以及通过 Azure AD,在这两种情况下都授予完整的站点权限。对于 Azure AD,我尝试通过 MS Graph API 以及 SharePoint API 进行授权。在这两种情况下,我都可以进行身份验证,但无法授权访问 SharePoint 网站。
我能够生成显示 Sites.FullControl.All 访问权限的承载访问令牌。但是,我要么得到Unsupported app only token(在使用 Azure AD 应用程序注册中的 client_id/secret 的情况下),要么 ID3035: The request was not valid or is malformed(在通过 SharePoint 管理界面从仅应用程序注册中使用 client_id/secret 的情况下)。
我还尝试通过 进行授权Office365-Rest-Python-Client,该授权会进行授权,但在尝试访问任何站点资源时会返回 401。
我在文档中发现了一些证据,表明可能需要获取刷新令牌,这可能需要自签名证书,但我已经陷入了很多兔子洞,我想我应该在这里寻求任何潜在的见解。
最重要的是,我只需要运行一个每天将文件上传到 SharePoint 网站的脚本,无需任何用户交互。
sharepoint sharepoint-api sharepoint-online azure-ad-graph-api microsoft-graph-api
我有一个文档库,我需要添加一个用户(SPRoleAssignment对象).但是由于SPList从父Web继承了Roles,因此它不允许我单独为此SPList对象添加.要仅将SPRoleAssignment对象添加到此列表,UI中有一个选项,仅为此SPList对象创建单独的权限副本.但是我如何使用C#程序执行此操作?
我目前正在使用此 REST 服务来检索列表项:
_api/lists/getbytitle('List Title')/items?$oderby=DueDate
Run Code Online (Sandbox Code Playgroud)
是否可以使用标准日期字段使用某些查询参数来过滤比特定日期新/旧的项目Modified?
我正在使用 SharePoint 2013 REST API 来获取和创建列表项,但是我的解决方案的最终用户可能不知道如何找到列表 ID,只是其中一个视图的 URL,例如http://spsportal /Lists/MyCalendar/calendar.aspx。
是否可以使用此 URL 找到列表 ID?
有时,用户需要更改SharePoint列表项中不可编辑的信息,例如,以编辑形式隐藏的字段(在我的情况下,它是记录编号).
我决定创建一个小型Windows GUI应用程序,管理员可以在服务器上运行该应用程序并进行所请求的更改.但是,获取SPListItem我发现的实例的最简单方案是:
SPSiteojbect创建,使用给定的URL:SPSite oSite=new SPSite(this.txtURL.text);SPWeb对象被创建为SPWeb oWeb = oSite.OpenWeb(this.txtWebUrl.text);oWeb.ListsSPListItem找到所需的oWeb.Lists[this.lstAllLists.selectedValue].GetItemById(this.txtItemId.value);这是一条很长的路径,管理员不喜欢打字,点击和等待.
他们想复制listitem显示表单的URL(从Web浏览器或某人的电子邮件中),将其粘贴到更新工具中,然后只需单击"Find it!"即可.
我需要提示如何做到这一点.
我知道我可能用正则表达式解析URL,因为它通常是以形式http://server/sites/[somesite]/[someweb/somesubweb]/lists/[somelist]/forms/dispform.aspx?ID=[123]存在,但存在变化 - 例如,http://[server]/[DocumentLibrary]/Forms/RenamedDispForm.aspx?ID=[1234]结构与第一个示例完全不同.
所以,问题是 - 是否有一些简单的方法来找到SPListItem它的URL?SPContext从URL 重建一个很好.
编辑:刚刚发现可以SPSite通过传递一个更长的URL 来构造一个有效的对象:
Dim oSite as New SPSite("http://server/sites/site/Lists/test/DispForm.aspx?ID=136")
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用sharepoint list Web服务更新列表.但是我收到以下错误
Results xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<Result ID="1,Update">
<ErrorCode>0x8102000a</ErrorCode>
<ErrorText>Invalid URL Parameter. The URL provided contains an invalid Command or Value. Please check the URL again.</ErrorText>
</Result>
</Results>
Run Code Online (Sandbox Code Playgroud)
这是我的代码片段
string strViewID = "{46FCE9EB-C789-430F-B1A3-9ACA41FE9BD9}";
XmlDocument camlDocument = new XmlDocument();
XmlNode queryNode = camlDocument.CreateElement("Query");
XmlDocument myListDoc = new XmlDocument();
XmlElement batchXML = myListDoc.CreateElement("Batch");
batchXML.SetAttribute("OnError", "Continue");
batchXML.SetAttribute("ListVersion", "1");
batchXML.SetAttribute("ViewName", strViewID);
batchXML.InnerXml = "<Method ID ='1' Cmd='Update'>" + "<Field Name='Title'>Z</Field>" +"<Field Name='Region'>West</Field>"+
"<Field Name='Size'>Z</Field>" + "<Field Name='Sales'>Z</Field></Method>";
XElement sys = XmlElementToXelement(batchXML);
XElement myListReturn = ws.UpdateListItems("{A30AFD47-7118-4904-A3B9-BCEFF7E3E203}", …Run Code Online (Sandbox Code Playgroud) sharepoint-api ×13
sharepoint ×9
c# ×3
.net ×1
java ×1
javascript ×1
permissions ×1
splistitem ×1