Rest API的简单应用

写在前面

最近一直在搞通过Rest api的方式读取sharepoint文档库中的内容。有些地方需要注意,在此做下记录。

步骤

启动sharepoint服务器的服务

这里可以使用脚本的方式进行启动,脚本如下:

获得管理账户,比如你的账户为sp\administrator

Rest API的简单应用
$account = Get-SPManagedAccount "sp\administrator"


$subscriptionSettingsServices = Get-SPServiceInstance | where {$_.TypeName -like "Microsoft SharePoint Foundation Subscription Settings Service"} | ForEach-Object {
    $subscriptionSettingsService = $_;
    if($subscriptionSettingsService.Status -ne "Online") {
        Write-Host "start Subscription Settings Service ,Id:" + $_.Id
        Start-SPServiceInstance $subscriptionSettingsService | Out-Null
    }
     else{
         Write-Host "Subscription Settings Service has started,Id:" + $_.Id
    }
}


Write-Host "starting Config Subscription Settings Service..."
$appPoolSubSvc = New-SPServiceApplicationPool -Name SettingsServiceAppPool -Account $account
$appSubSvc = New-SPSubscriptionSettingsServiceApplication –ApplicationPool $appPoolSubSvc –Name SettingsServiceApp –DatabaseName SettingsServiceDB_tmp
$proxySubSvc = New-SPSubscriptionSettingsServiceApplicationProxy –ServiceApplication $appSubSvc




$AppManageServices = Get-SPServiceInstance | where {$_.TypeName -like "App Management service"} | ForEach-Object {
    $AppManageService = $_;
    if($AppManageService.Status -ne "Online") {
        Write-Host "start run App Management service ,Id:" + $_.Id
        Start-SPServiceInstance $AppManageService | Out-Null
    }
     else{
         Write-Host "App Management service has started,Id:" + $_.Id
    }
}



Write-Host "App Management service..."
$appPoolSubSvc = New-SPServiceApplicationPool -Name AppManagementServiceAppPool -Account $account
$appSubSvc = New-SPAppManagementServiceApplication –ApplicationPool $appPoolSubSvc –Name AppManagementServiceApp –DatabaseName AppManagementServiceDB_tmp
$proxySubSvc = New-SPAppManagementServiceApplicationProxy –ServiceApplication $appSubSvc



Write-Host "config success!"
Rest API的简单应用

运行成功后检查下列服务是否启动:

Rest API的简单应用

检查下列服务是否存在:

Rest API的简单应用

准备证书

创建并导出自签名的证书

Rest API的简单应用

Rest API的简单应用

Rest API的简单应用

Rest API的简单应用

Rest API的简单应用

导出公钥证书

Rest API的简单应用

Rest API的简单应用

Rest API的简单应用

Rest API的简单应用

Rest API的简单应用

Rest API的简单应用

Rest API的简单应用

Rest API的简单应用

Rest API的简单应用

Rest API的简单应用

Rest API的简单应用

Rest API的简单应用

Rest API的简单应用

Rest API的简单应用

Rest API的简单应用

注册APP并授权

注册app的脚本

Rest API的简单应用
$serviceConfig = Get-SPSecurityTokenServiceConfig
$serviceConfig.AllowOAuthOverHttp = $true
$serviceConfig.Update()
$appDisplayName = "Lenovo_Documents"
$clientID = "11c825ca-5b9c-4a02-857d-d0bc9690c327"
$targetSiteUrl = "http://sp2013/"
$targetSite = Get-SPSite $targetSiteUrl
$realm = Get-SPAuthenticationRealm -ServiceContext $targetSite
$fullAppPrincipalIdentifier = $clientID + "@" + $realm
Write-Host "Register new app principal"
$registeredAppPrincipal = Register-SPAppPrincipal -NameIdentifier $fullAppPrincipalIdentifier -Site $targetSite.RootWeb -DisplayName $AppDisplayName
Set-SPAppPrincipalPermission -site $targetSite.RootWeb -AppPrincipal $registeredAppPrincipal -Scope SiteCollection -Right FullControl -EnableAppOnlyPolicy
Rest API的简单应用

注册发布者

Rest API的简单应用
#Register a trusted security-token issuer

$targetSiteUrl = "http://sp2013/"
$publicCertificatePath = "C:\Certs\Lenovo_Documents.cer"
$issuerID = "7c444f28-03be-445f-8Dfc-0af2869b23cd"
$targetSite = Get-SPSite $targetSiteUrl
$realm = Get-SPAuthenticationRealm -ServiceContext $targetSite
$realm

$registeredIssuerName = $issuerID + "@" + $realm
$publicCertificate = Get-PfxCertificate $publicCertificatePath
Write-Host "Create token issuer"
$secureTokenIssuer = New-SPTrustedSecurityTokenIssuer -Name $issuerID -RegisteredIssuerName $registeredIssuerName -Certificate $publicCertificate -IsTrustBroker

iisreset
Rest API的简单应用

开发app,消费sharepoint数据

Rest API的简单应用

创建网站

Rest API的简单应用

添加引用

Rest API的简单应用

加入TokenHelper.cs

Rest API的简单应用

配置Web.Config
注意下列标记值,应与之前步骤配置的值一致。注意,在下面的对应的guid,应与注册时候使用的guid相同。

Rest API的简单应用

Rest API的简单应用

Rest API的简单应用

 

如预期,通过REST API 返回JSON数据

Rest API的简单应用

总结

如果在sharepoint的本地环境中调试通过,然后就是通过odata方式获取,或者筛选自己需要的数据了。

博客地址: http://www.cnblogs.com/wolf-sun/
博客版权: 本文以学习、研究和分享为主,欢迎转载,但必须在文章页面明显位置给出原文连接。
如果文中有不妥或者错误的地方还望高手的你指出,以免误人子弟。如果觉得本文对你有所帮助不如【推荐】一下!如果你有更好的建议,不如留言一起讨论,共同进步!
再次感谢您耐心的读完本篇文章。http://www.cnblogs.com/wolf-sun/p/4395647.html