我在虚拟机中的Windows Server 2012操作系统中安装了sharepoint 2013基础,sql server 2012.
我需要为sharepoint 2013设置开发环境.任何人都可以帮助我解决我必须安装的问题.
我有一些问题
必须在哪里安装Visual Studio 2012(在客户端或服务器VM中)?我必须安装哪些组件?我需要安装Sharepoint Designer吗?
请帮助我解决这些问题.
干杯!
sharepoint sharepoint-designer sharepoint-2010 sharepoint-2013
有一个用户存储,即内部部署AD.ADFS为SharePoint 2013和Power BI提供身份验证.
自定义Web应用程序需要从AD验证用户.Web应用程序后端还需要访问SharePoint REST API.
目标是使用单点登录实现上述目标.如果签入三个应用程序中的任何一个,用户不必输入其他任何一个的凭据.此外,自定义Web应用程序还显示来自SharePoint(iFrame和REST API)和Power BI(iFrame)的内容.
我们尝试了以下两种解决方案,但在任何一种情况下都遇到了问题.
什么不起作用:导航到Power BI或将其包含在iFrame中会将用户重定向到ADFS登录页面.这是因为用户尚未在浏览器中使用ADFS进行身份验证.
什么不起作用:Web应用程序无法使用从ADFS为Web应用程序收到的SAML令牌向SharePoint发出REST API请求.我们已尝试使用该SAML令牌代表登录用户从ADFS for SharePoint请求另一个令牌.这也不起作用.同样,SharePoint 2013内部部署可能不会代表请求接受.
有没有办法为所有三个应用程序提供SSO,同时还可以从Web应用程序获得对SharePoint的REST API访问?用户只需登录一次,最好只登录Web应用程序.
我正在编写一个小型.NET概念验证控制台应用程序,它在SharePoint文档库上执行一系列操作.我注意到以下方法需要一个"编码"登录名 - 即登录名,包括提供者信息,例如i:0#.w|DOMAIN\user.
context.Web.EnsureUser(encodedLoginName);
context.Web.SiteUsers.GetByLoginName(encodedLoginName);
Run Code Online (Sandbox Code Playgroud)
如何DOMAIN\user在SharePoint客户端对象模型中可靠地将用户名转换为此编码格式?
.net c# sharepoint-api sharepoint-clientobject sharepoint-2013
我有一个启用了版本控制的SharePoint 2013列表.我需要通过REST获取SPListItem版本列表.我可以通过该请求获取SPListItem:http://spbreportportal/Projects/_api/lists/getbytitle('Projects')/Items(1)
但我无法在文档中找到并在响应中如何检索此项目的所有版本.可能吗?
我有一个使用标准Visual Studio 2013 PHA模板编写的内部部署,高信任提供商托管应用程序(PHA).我已经按照Kirk Evans在他的博客中提供的High-Trust/S2S应用程序的配置步骤:
在我添加一项服务来托管AppInstalled事件的事件接收器之前,一切都按预期工作,而不需要太多修改.当我尝试在启用事件的情况下安装应用程序时,我从SharePoint收到以下错误:
远程事件接收器标注失败.详细信息:HTTP请求未经授权,客户端身份验证方案为"匿名".从服务器收到的身份验证标头是"NTLM; Negotiate".
开箱即用的PHA未配置为在其服务绑定中支持匿名身份验证.当我通过web.config添加对匿名身份验证的支持时,应用程序将安装并且所有事件接收器逻辑都按预期执行,包括将列表和安全组添加到主机Web的CSOM调用.
这让我有一个由两部分组成的问题:
TIA
有没有办法我们可以在项目更新事件中识别与项目关联的文档(文件)是否更新?
谢谢,Mallikarjun
是否有一种简单的方法可以使用对 REST API的cURL请求来访问我的 Sharepoint 帐户上的文件?例如
curl -i -H "Authorization: Bearer <some-key-here>" https://mysharepoint.com/_api/web/Lists
Run Code Online (Sandbox Code Playgroud)
我已阅读有关应用程序身份验证和授权的所有文档,但在这种情况下,我没有可以注册的“应用程序”。我只需要在 REST 请求中使用某种 API 密钥。如何以这种方式使用 REST API?
我很感激对此问题的任何见解。
我能够将我的桌面上的图像上传到基于Angular的Web应用程序,而不会出现问题,但是如果我从手机(如iPhone)上传,请使用"拍摄照片或视频"或"照片库"功能,当在横向拍摄时,它会导致图像在纵向拍摄时或横向拍摄.这是我目前的上传功能.任何线索/让其他人都有同样的问题从iPhone /移动电话上传到移动Web应用程序到SharePoint库?
这是我的上传功能:
// Upload of images
$scope.upload = function () {
//console.log($scope.files);
if (document.getElementById("file").files.length === 0) {
alert('No file was selected');
return;
}
var parts = document.getElementById("file").value.split("\\");
var uploadedfilename = parts[parts.length - 1];
var basefilename = uploadedfilename.split(".")[0];
var fileextension = uploadedfilename.split(".")[1];
var currentdate = new Date();
var formatteddate = $filter('date')(new Date(currentdate), 'MMddyy-hmmssa');
var filename = basefilename + formatteddate + '.' + fileextension;
var file = document.getElementById("file").files[0];
uploadFileSync("/sites/asite", "Images", filename, file);
}
//Upload file synchronously
function uploadFileSync(spWebUrl, library, filename, file) …Run Code Online (Sandbox Code Playgroud) 在SharePoint Server端代码中,您可以编写如下内容:
field.fieldvalueType
Run Code Online (Sandbox Code Playgroud)
有时会给你类型(DateTime,或其他).令人讨厌的是,有时,它只返回Null(例如,ID字段).
在CSOM中,您没有该字段.但是,有以下TypeAsString类型的SharePoint类型:
当我知道我正在处理"整数"字段时,提取"Int32",并从SharePoint的注释中提取"System.String".
这种方法有效,但它是所有黑客的母亲:
var myTempItem = list.AddItem(new ListItemCreationInformation());
myTempItem.Update();
context.ExecuteQuery();
context.Load(myTempItem);
context.ExecuteQuery();
Run Code Online (Sandbox Code Playgroud)
创建后,您可以使用:
myTempItemCreated[fieldImTryingToGetTypeOf.Title].GetType().FullName - > Gives-> System.Int32
现在,做到这一点的正确方法是什么?我只是希望答案不是十英尺长的开关案例声明.
我是HTML,CSS和JavaScript的新手.我试图使用jQuery使按钮处于活动或非活动状态,具体取决于一天中的时间.在定义了时间(d),open时间和close时间后,我设法让图像正确更改.但是,根据一天中的时间,我无法为按钮分配链接.
如果时间介于open和之间,则此代码正确应用类close.ButtonOne只有ManagersChatButtonActive在JSFiddle中应用类时,它才正确地将链接应用于div .但是在SharePoint中,即使不满足时间条件,也会应用链接.
如何在仅满足'if'条件时才能应用链接?
(这是我第一次使用Stack Overflow,如果这个问题没有得到很好的解释或解释,那么道歉).
$(document).ready(function() {
var d = new Date();
var open = new Date();
open.setHours(9);
open.setMinutes(0);
open.setSeconds(0);
var close = new Date();
close.setHours(18);
close.setMinutes(0);
close.setSeconds(0);
if (d >= open && d < close) {
$(".ButtonOne").addClass("ManagersChatButtonActive");
$(".ButtonOne").wrap('<a href="http://www.google.com"/>');
} else {
$(".ButtonOne").addClass("ManagersChatButtonInactive");
}
});
Run Code Online (Sandbox Code Playgroud)