{"id":174,"date":"2022-11-08T16:14:13","date_gmt":"2022-11-08T15:14:13","guid":{"rendered":"https:\/\/guillemrueda.com\/blog\/?p=174"},"modified":"2022-11-08T16:14:13","modified_gmt":"2022-11-08T15:14:13","slug":"sharepoint-i-net-4-5","status":"publish","type":"post","link":"https:\/\/guillemrueda.com\/blog\/2022\/11\/08\/sharepoint-i-net-4-5\/","title":{"rendered":"Sharepoint i Net 4.5"},"content":{"rendered":"\n<p>La API de sharepoint ha canviat i aix\u00f2 requereix utilitzar oauth. Podem fer-ho amb el exemple que propociona al tutorial al docs:<\/p>\n\n\n\n<p><a href=\"https:\/\/learn.microsoft.com\/en-us\/sharepoint\/dev\/sp-add-ins\/using-csom-for-dotnet-standard\">https:\/\/learn.microsoft.com\/en-us\/sharepoint\/dev\/sp-add-ins\/using-csom-for-dotnet-standard<\/a><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Ves al Portal de Azure AD: <a href=\"https:\/\/aad.portal.azure.com\">https:\/\/aad.portal.azure.com<\/a><\/li>\n\n\n\n<li>Selecciona Azure Active Directory i registres d&#8217;aplicacions a l&#8217;esquerra<\/li>\n\n\n\n<li>Selecciona New registration<\/li>\n\n\n\n<li>Introdueix un nom per a la aplicaci\u00f3 i selecciona Register<\/li>\n\n\n\n<li>Aneu a Permisos de l&#8217;API per concedir permisos a la aplicaci\u00f3, seleccioneu &#8220;Add a permission&#8221;, tria SharePoint, Delegated permissions i selecciona AllSites.Manage<\/li>\n\n\n\n<li>Selecciona Concedir consentiment de l&#8217;administrador per consentir els permisos sol\u00b7licitats per l&#8217;aplicaci\u00f3<\/li>\n\n\n\n<li>Seleccioneu Authentication a l&#8217;esquerra<\/li>\n\n\n\n<li>Canvia &#8220;Allow public client flows&#8221; a S\u00ed<\/li>\n\n\n\n<li>Selecciona Overview i guarda Application ID<\/li>\n<\/ol>\n\n\n\n<p>Nota: si no segu\u00edssim pas per pas les <a href=\"https:\/\/learn.microsoft.com\/en-us\/sharepoint\/dev\/sp-add-ins\/using-csom-for-dotnet-standard#configuring-an-application-in-azure-ad\">instruccions de configurar una aplicaci\u00f3 a Azure<\/a> ens podem trobar els seg\u00fcents errors:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Si no hem seguit el pas 8 ens pot oc\u00f3rrer que el usuari tingui que donar manualment acc\u00e9s a l&#8217;aplicaci\u00f3. Si ho fem, el exemple no est\u00e0 preparat per a fer-ho (no fa <em>prompt <\/em>de la p\u00e0gina sol\u00b7licitant-lo).<\/li>\n\n\n\n<li>En cas que volguem que sigui aix\u00ed podem seguir el exemple de oferir una finestra amb el navegador al consentUrl: <a href=\"https:\/\/nishantrana.me\/2020\/12\/01\/fixed-aadsts65001-the-user-or-administrator-has-not-consented-to-use-the-application-with-id\/\">https:\/\/nishantrana.me\/2020\/12\/01\/fixed-aadsts65001-the-user-or-administrator-has-not-consented-to-use-the-application-with-id\/<\/a><\/li>\n<\/ul>\n\n\n\n<p>A m\u00e9s a m\u00e9s poden sorgir altres errors:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>El usuari no \u00e9s v\u00e0lid, o no te renovada la contrasenya, o est\u00e0 inactiu: aquestes gestions no ser\u00e0n possibles ja que no tenim previst fer prompt de la p\u00e0gina de AD per fer canvi de contrasenya, etc.<\/li>\n<\/ul>\n\n\n\n<p>Despr\u00e9s cal personalitzar la classe <em>AuthenticationManager <\/em>que <a href=\"https:\/\/learn.microsoft.com\/en-us\/sharepoint\/dev\/sp-add-ins\/using-csom-for-dotnet-standard#authenticationmanager-sample-class\">donen al exemple<\/a> ja que est\u00e0 pensada per a Net Core o superiors, per\u00f2 no NET Framework cal fer un seguit d&#8217;adaptacions. Aqu\u00ed fetes, res del altre m\u00f3n:<\/p>\n\n\n\n<script src=\"https:\/\/gist.github.com\/Ruekov\/8c7cc9391abafc638d2e3cca0e41c7ca.js\"><\/script>\n","protected":false},"excerpt":{"rendered":"<p>La API de sharepoint ha canviat i aix\u00f2 requereix utilitzar oauth. Podem fer-ho amb el exemple que propociona al tutorial al docs: https:\/\/learn.microsoft.com\/en-us\/sharepoint\/dev\/sp-add-ins\/using-csom-for-dotnet-standard Nota: si no segu\u00edssim pas per pas les instruccions de configurar una aplicaci\u00f3 a Azure ens podem trobar els seg\u00fcents errors: A m\u00e9s a m\u00e9s poden sorgir altres errors: Despr\u00e9s cal personalitzar &hellip; <a href=\"https:\/\/guillemrueda.com\/blog\/2022\/11\/08\/sharepoint-i-net-4-5\/\" class=\"more-link\">Continua la lectura de <span class=\"screen-reader-text\">Sharepoint i Net 4.5<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,12,6,18],"tags":[],"class_list":["post-174","post","type-post","status-publish","format-standard","hentry","category-net-programacio","category-azure","category-programacio","category-sharepoint"],"_links":{"self":[{"href":"https:\/\/guillemrueda.com\/blog\/wp-json\/wp\/v2\/posts\/174","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/guillemrueda.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/guillemrueda.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/guillemrueda.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/guillemrueda.com\/blog\/wp-json\/wp\/v2\/comments?post=174"}],"version-history":[{"count":1,"href":"https:\/\/guillemrueda.com\/blog\/wp-json\/wp\/v2\/posts\/174\/revisions"}],"predecessor-version":[{"id":175,"href":"https:\/\/guillemrueda.com\/blog\/wp-json\/wp\/v2\/posts\/174\/revisions\/175"}],"wp:attachment":[{"href":"https:\/\/guillemrueda.com\/blog\/wp-json\/wp\/v2\/media?parent=174"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/guillemrueda.com\/blog\/wp-json\/wp\/v2\/categories?post=174"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/guillemrueda.com\/blog\/wp-json\/wp\/v2\/tags?post=174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}