标签: sharepoint-api

如何在给定其中的站点URL的情况下查找SharePoint Web应用程序的URL

我需要找到给定站点的Web应用程序的URL(假设我有一个URL http:// code/sites/java.鉴于此网站集的URL,我需要托管此网站集的Web应用程序的URL在这种情况下,它将是http:// code.)任何输入都将受到赞赏.

sharepoint sharepoint-2007 sharepoint-api

3
推荐指数
1
解决办法
1万
查看次数

SharePoint中.显示列表项版本历史对话框

我有自定义页面和列表项的ID.如何从我的页面显示sharepoint版本历史记录对话框?

.net javascript sharepoint-api sharepoint-2010

3
推荐指数
1
解决办法
4059
查看次数

Sharepoint编码标准

我刚刚来到这张桌子:

SPList.Items的替代品

请让我知道穷人有什么不同 - >最后5项更好.

c# sharepoint sharepoint-2007 sharepoint-api sharepoint-2010

3
推荐指数
1
解决办法
735
查看次数

如何在java中解析/getuser effectivepermissions共享点响应?

我有这样的共享点请求:

/_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)

如何正确解析呢?我想知道用户是否可以读取该文件夹

java permissions sharepoint sharepoint-api

3
推荐指数
1
解决办法
3069
查看次数

将列表项从源复制到目标时复制文件夹

这是我将代码中的文件从源复制到目标的代码.使用下面的代码我只能复制文件而不能复制文件夹.关于如何复制文件夹和这些文件夹中的文件的任何想法?

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)

sharepoint sharepoint-2007 sharepoint-api

2
推荐指数
1
解决办法
3597
查看次数

使用rest api更新sharepoint中的多项选择字段

我正在尝试使用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)

有什么帮助吗?

c# sharepoint sharepoint-api

2
推荐指数
1
解决办法
6683
查看次数

使用 Microsoft Graph 通过查找 ID 获取 SharePoint 用户

我在 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

2
推荐指数
1
解决办法
3789
查看次数

如何授权 Python 脚本上传到 SharePoint Online?

我需要使用 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

2
推荐指数
1
解决办法
6784
查看次数

使用C#更改SPList Inherit Parent Permissions属性

我有一个文档库,我需要添加一个用户(SPRoleAssignment对象).但是由于SPList从父Web继承了Roles,因此它不允许我单独为此SPList对象添加.要仅将SPRoleAssignment对象添加到此列表,UI中有一个选项,仅为此SPList对象创建单独的权限副本.但是我如何使用C#程序执行此操作?

sharepoint sharepoint-2007 sharepoint-api

1
推荐指数
1
解决办法
1563
查看次数

SharePoint 2013 API - 仅获取新修改的列表项

我目前正在使用此 REST 服务来检索列表项:

_api/lists/getbytitle('List Title')/items?$oderby=DueDate
Run Code Online (Sandbox Code Playgroud)

是否可以使用标准日期字段使用某些查询参数来过滤比特定日期新/旧的项目Modified

sharepoint-api sharepoint-2013

1
推荐指数
1
解决办法
3664
查看次数

使用 REST 从其 url 获取列表 ID?

我正在使用 SharePoint 2013 REST API 来获取和创建列表项,但是我的解决方案的最终用户可能不知道如何找到列表 ID,只是其中一个视图的 URL,例如http://spsportal /Lists/MyCalendar/calendar.aspx

是否可以使用此 URL 找到列表 ID?

sharepoint-api sharepoint-2013

1
推荐指数
1
解决办法
1万
查看次数

通过显示表单的URL查找SharePoint列表项

有时,用户需要更改SharePoint列表项中不可编辑的信息,例如,以编辑形式隐藏的字段(在我的情况下,它是记录编号).

我决定创建一个小型Windows GUI应用程序,管理员可以在服务器上运行该应用程序并进行所请求的更改.但是,获取SPListItem我发现的实例的最简单方案是:

  • 管理员输入根站点的URL
  • 一个SPSiteojbect创建,使用给定的URL:SPSite oSite=new SPSite(this.txtURL.text);
  • admin输入所需网站的相对URL
  • 一个SPWeb对象被创建为SPWeb oWeb = oSite.OpenWeb(this.txtWebUrl.text);
  • 下拉框中填充了所有列表标题 oWeb.Lists
  • 管理员从列表框中选择一个列表并输入所请求项目的ID;
  • SPListItem找到所需的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 sharepoint-api splistitem

0
推荐指数
1
解决办法
1万
查看次数

UpdateListItems在尝试更新sharepoint中的列表时发出错误

我正在尝试使用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)

c# sharepoint-api sharepoint-2010

0
推荐指数
1
解决办法
4387
查看次数