使用SharePoint App-Only獲得訪問許可權

目前在開發SharePoint Online的過程中,主要使用通過Azure AD的方式獲得應用的訪問許可權,但是SharePoint App-Only的方式依舊被保留了。使用這種方式進行CSOM開發比使用Azure AD相對要簡單,因為使用Azure AD的方式,需要發布自簽名證書,相應的程式碼也會複雜一些。但是需要注意的是,使用App-Only的方式是無法創建modern site的。

使用App-Only的方式,首先要訪問 //your-domain.sharepoint.com/_layouts/15/appregnew.aspx

 

 

點擊生成客戶端和客戶端密鑰,填入應用的標題、鏈接和重定向url。創建成功後,記錄下客戶端ID和密鑰。
image.png
然後訪問//yourdomain-admin.sharepoint.com/_layouts/15/appinv.aspx, 點擊查詢得到應用的相關資訊。然後複製下面的XML到頁面的許可權請求XML裡面。也可以修改相應的許可權,獲得不同的許可權。然後點擊創建。

 

<AppPermissionRequests AllowAppOnlyPolicy="true">
  <AppPermissionRequest Scope="//sharepoint/content/tenant" Right="FullControl" />
</AppPermissionRequests>

 

image.png
然後選擇信任。
image.png
整個註冊App-Only的流程就結束了,可以用下面的方法,使用申請到的ID和密鑰獲得訪問許可權。

 

AuthenticationManager().GetAppOnlyAuthenticatedContext(targetSiteUrl, appOnlyId, appOnlySecret)