Archifau Misol: Chwefror 2014

Sut i Nodwch Pobl fel Cwmpas Chwilio / Cynnwys Ffynhonnell Defnyddio SharePoint 2013 REST API

Cefais reswm i weithio gyda y SharePoint 2013 API chwilio drwy weddill am y tro cyntaf. Yr oeddwn yn chwilio am bobl, Nid dogfennau. Allweddol dysgu yma yw Nodwch ffynonellau cynnwys drwy ei GUID (neu o leiaf yn yr achos hwn). Y sioeau beintiwyd jQuery canlynol sut:

    loadExpertsAsync: swyddogaeth() {

        jQuery.support.cors = wir;

        $.AJAX({
            url: hwn.CreateFullApiUrl() +
                "?querytext = 'pyrth'&sourceid = 'b09a7990-05ea-4af9-81ef-edfab16c4e31'" +
                "&selectproperties ='LinkedInProfileUrl,GoogleCirclesProfileUrl,BALargeProfilePictureUrls,BAGridPictures,WorkEmail,Sgiliau,AboutMe,Buddiannau,Teitl y swydd,PastProjects,PictureURL,PreferredName,TwitterHandle,LinkedInProfileUrl,PreferredName,GoogleCirclesProfileUrl'" +
                "&rowlimit = 99",
            dull: "GAEL",
            Penynnau: { "Derbyn": "cais/json; odata = amleiriog" },
            storfa: ffug,
            llwyddiant: swyddogaeth (arwain) {

Yn fy achos, Yr wyf yn rhedeg y API erbyn SharePoint ar-lein. I gael y GUID, Dilynais y camau hyn:

  1. Mynediad i'r ganolfan gweinyddol SharePoint
  2. Dewiswch "chwilio" o'r mordwyo chwith
  3. Dewiswch "Canlyniad ffynonellau reoli'r"
  4. Dewiswch "Canlyniadau pobl leol"
  5. Edrychwch ar yr URL.

Fy URL edrych rhywbeth fel:

https://xyzzy-admin.sharepoint.com/_layouts/15/searchadmin/EditResultSource.aspx?level=tenant&sourceid=b09a7990%2D05ea%2D4af9%2D81ef%2Dedfab16c4e31&view=1

Paramedr sourceid yw hyn wedi gweithio i mi.

(Deallaf y gall y sourceid mewn gwirionedd yn rhyw fath o peth parhaol gyda SP, ond byddaf bob amser yn gwirio beth bynnag 🙂 ).

</diwedd>

undefinedTanysgrifio i fy mlog.

Dilynwch fi ar Twitter yn http://www.twitter.com/pagalvin

Galwadau Enghraifft SharePoint REST

Dyma set sampl galwadau gweddill y gwaith i mi a allai eich helpu yn ogystal. Fel y 02/2014, ceir dwy enghraifft 🙂

  1. Cyfeirnod Colofn gyda mannau yn ei enw
  2. Cyfeiriad Colofn aml-ddewis
  3. Yn cynnal chwiliad pobl drwy weddill

 

Byddwn yn ychwanegu at hyn wrth i amser fynd heibio.

Dyma rhai inciau defnyddiol a Rydw i wedi cael cystal:

Cyfeirnod Colofn gyda mannau yn ei enw

Rwyf yn creu rhestr bersonol gyda Colofn "Blog awdur" a enwir (gofod rhwng Blog ac awdur).

Yn y $select cyfeirio at y golofn honno:

image

Disodli y gofod â "_x0020_". Gwelwn y _x0020_ mewn llawer o enghreifftiau ar draws y internets a'r gweddill yn wahanol.

Os nad ydych yn gwneud hynny, ydych chi'n atebol yn derbyn neges camgymeriad fel hyn:

Y mynegiant “Awdur blog” ddim yn ddilys.

Ddigon hawdd.

Cyfeirio at daflenni aml-ddewis

Sefydlu:

  1. Creu rhestr bersonol categorïau a enwyd.
  2. Ychwanegu rhai categorïau. Ychwanegais categorïau thusly:image
  3. Creu rhestr bersonol arall o'r enw MockBlog ac ychwanegu categorïau fel colofn rhestr aml-ddewis (neu safle Colofn os mai dyna sut y mae eich cyflwyno).

Ychwanegu eitemau at eich rhestr Mockblog a fyddwch yn barod.

Bydd galwad arddull Ajax yn defnyddio jQuery edrych rhywbeth fel hyn:

serverUrl  = "/_api/we/rhestrau/GetByTitle('MockBlog')/eitemau" +
             "?$Dewiswch = teitl,Categorïau/teitl,Blog_x0020_Author/teitl" + 
             "&$ehangu = Blog_x0020_Author,Categorïau";

Rydych yn dweud SharePoint "roi imi y teitl ar gyfer pob categori (Categorïau/teitl). Cael y gwerthoedd gwirioneddol ar gyfer Teitl gan $ehanguing y rhestr categorïau." (Fy aralleirio tawel yn debyg eithaf llac, ond sut yr wyf yn dehongli'r ei).

Os ydych yn gwneud hyn drwy JavaScript a defnyddio Fiddler i edrych ar yr allbwn, y cewch rywbeth fel hyn yn ôl:

 

image

(Yr uchod yw gwrthrych JSON)

Yn cynnal chwiliad pobl drwy weddill

Rwy'n blogio ynghylch hyn ar wahân. Yr allwedd yw Nodwch paramedr sourceid eu gwerth yn y GUID y ffynhonnell cynnwys pobl leol. (Ffynonellau cynnwys arfer cael eu galw'n chwmpas ac mae'n fy-o-fy nid mor galed i alw popeth cwmpas i mi!).

Darllenwch fwy am y peth yma: http://www.mstechblogs.com/paul/?p=10385

 

</diwedd>

undefinedTanysgrifio i fy mlog.

Dilynwch fi ar Twitter yn http://www.twitter.com/pagalvin

Cyflym a hawdd: Creu Safle SharePoint Defnyddio REST

Ceir llawer o adnoddau o gwmpas sy'n dangos sut i wneud hyn, ond ni allai ddod o hyd i ddolen cynhwysfawr i, Felly dyma ni.

Gallwch greu safle SharePoint gan ddefnyddio API gweddill.  Dyma enghraifft llawn wedi'i bobi:

<!--
    SiteRequestForm.html: Casglu gwybodaeth ac yn creu safle ar gyfer y defnyddiwr.
-->

<canolfan>
<tabl>
    <tr>
        <TD>Enw'r safle:</TD>
        <TD><mewnbwn Math= "testun" Enw= "SiteName" id= "SiteName" /></TD>
    </tr>
    <tr>
        <TD colspan= "2">
            <mewnbwn Math= "gyflwyno" id"CreateSiteButton =" gwerth= "Creu safle" />
        </TD>
    </tr>
</tabl>
</canolfan>

<sgript src=".. /Plugins/jquery-1.11.0.min.JS"></sgript>

<sgript>
Roedd CreateSiteLogicContainer = {

    createSiteData: {
            "paramedrau": {
                __metadata: { "math": "SP. WebInfoCreationInformation" },
                Url: "Paultest1",
                Teitl: "Paultest1",
                Disgrifiad: "creu weddill we gan Paul!",
                Iaith: 1033,
                WebTemplate: "sts",
                UseUniquePermissions: ffug
            }
    },

    createSite: swyddogaeth () {

        jQuery.support.cors = wir;

        CreateSiteLogicContainer.createSiteData.parameters.Url = $("#SiteName").val();
        
        $.AJAX({
            url: "https://bigapplesharepoint.sharepoint.com/NBAIADev/_api/web/webinfos/add",
            dull: "SWYDD",

            Penynnau: {
                "Derbyn": "cais/json; odata = amleiriog",
                "cynnwys math": "cais/json;odata = amleiriog",
                "X-RequestDigest": $("#__REQUESTDIGEST").val()
            },

            data: JSON.stringify(CreateSiteLogicContainer.createSiteData),

            llwyddiant: swyddogaeth () { rhybuddio("llwyddiant"); },
            gwall: swyddogaeth () { rhybuddio("gwall"); }

        });
    },

    wireUpForm: swyddogaeth () {
        $("#CreateSiteButton").cliciwch(swyddogaeth () {
            rhybuddio("Am i geisio creu safle.");
            CreateSiteLogicContainer.createSite();
        });
    }


}

CreateSiteLogicContainer.wireUpForm();

</sgript>

Pan llwyddiannus, Rydych yn derbyn pecyn JSON yn ymateb fel hyn:

image

Fy meddyliau allweddol a'r gwersi a ddysgwyd o hyn yn cynnwys:

  • Mae'r dull hwn yn defnyddio jQuery.  Yn fy achos, Lleolir fy llyfrgell jQuery yn "… / ategion. "  Byddwch chi eisiau newid hynny i dynnu sylw at eich lleoliad JQ hoff.
  • Gall eich copïo a gludo beintiwyd cyfan hwnnw yn rhan we Golygydd cynnwys ar dudalen a dylai weithio ychydig iawn.  Byddwch chi eisiau newid pwynt gorffen galwad API a gwnewch yn siŵr eich bod yn cyfeirio at JQ gywir.
  • Mae'r URL yn o'i gymharu â gwaelodlin eich API.  Yn fy achos, Mae'n creu is-safleoedd oddi tano https://bigapplesharepoint.com
  • Nid oes angen i chi ddarparu cynnwys-darn. Rhai swyddi blog a MSDN Mae'r ddogfen yn awgrymu eich bod yn gwneud, ond a ddigwyddodd i mi awtomatig, Yr wyf yn cymryd yn cael ei drin gan yr alwad.ajax $ ei hun.
  • Mae y llinell hon yn ofynnol er mwyn osgoi ymateb "gwaharddedig": "X-RequestDigest": $("#__REQUESTDIGEST").val().  Mae yna ffyrdd eraill i wneud hynny, ond mae hyn yn eithaf braf.  Yr wyf wedi colli cysylltiad i blog a ddarperir y llwybr byr hwn.  H/T i chi, rhyfedd blogger!

Lwc dda a gobeithiaf y bydd hyn yn helpu rhywun allan.

</diwedd>

undefinedTanysgrifio i fy mlog.

Dilynwch fi ar Twitter yn http://www.twitter.com/pagalvin

Goresgyn Problem Blino gyda URLs cymharol yn SharePoint Chwim Launch

Yr oeddwn am i ychwanegu dolen at navigation lansio cyflym y dydd arall a dywedodd SharePoint wrthyf:

image

Fersiwn testun pur o hynny:

Sicrhau bod yr URL yn ddilys ac yn dechrau gyda naill ai cymeriad dilys (arwydd Rhif (#) neu slaes ymlaen (/)) neu brotocol gyda chymorth dilys (er enghraifft,, ' http://', ' https://', ' ffeil://', ' ftp://', ' e-bost:', ' newyddion:').

'Blech a brech yr!"Dywedais.

Gwasanaeth i hyn yw defnyddio JavaScript i ddarganfod cysylltiad hysbys yn lansio cyflym a diystyru ei ymddygiad.

I brofi hyn, ychwanegu cysylltiad newydd i'ch safle prawf thusly:

image

Defnyddiais jQuery. I'w datrys, cael rhai JavaScript a jQuery ar dudalen drwy ddefnyddio eich hoff dechneg a gyda llinell Cod fel hyn:

 

$(dogfen).barod( swyddogaeth () {

    $("1:cynnwys('Rhoi prawf' URL newydd')").cliciwch(swyddogaeth () { rhybuddio("Cliciwch newid ymddygiad!"); dychwelyd ffug;});

});

A Bob eich ewythr.

Bydd y botwm jQuery yn canfod pob <1> tag wedi "URL prawf newydd" yn ei enw. Efallai y byddwch am i ddod o hyd i-alaw a dibynnu ar eich cysylltiad a'ch o'r fath.

Y.click(swyddogaeth() diystyru beth bynnag byddai SharePoint wedi gwneud pan roedd y defnyddiwr wedi clicio. Gwnewch yn siŵr bod eich "dychwelyd ffug" neu fel arall bydd yn gwneud eich pethau ac wedyn yn ceisio y peth href yn rhy, bron yn sicr nad yw'n eich nod.

Gwnaed hyn a brawf mewn amgylchedd ar-lein SharePoint ond dylai weithio dda yn 2010 a gynharach rhy.

</diwedd>

undefinedTanysgrifio i fy mlog.

Dilynwch fi ar Twitter yn http://www.twitter.com/pagalvin

Cyflym a syml: SharePoint REST Call Dim ond Ffurflenni 100 Cofnodion

Dwi wedi gweithio ar safle we sy'n wynebu cyhoeddus am fy arfer SharePoint yma yn Efrog newydd ac mae'n defnyddio llawer o alwadau JavaScript a gweddill i dangos y cynnwys.

Ystod datblygu prif linell, Dwi'n creu set fach gyda dim ond 10 neu felly roedd rhesi yn rhestr bersonol a galw fy weddill ei dynnu oddi yno.  Unwaith yr wyf yn rhygnu ar y rhestr i gael ychydig gannoedd o rhesi o ddata i brofi ar gyfer twf a ragwelir, Yr oedd yr oeddwn yn mynd yn union 100 rhesi a dychwelyd yn ôl ar fy galwadau weddill.

Mae hwn yn rhywbeth syml iawn i fynd i'r afael â.  Yn fy achos (a chredaf yn y rhan fwyaf o achosion), galw weddill diofyn i SharePoint (ac o bosibl fel diwydiant safonol?) dychwelyd 100 rhesi.  I ddychwelyd mwy na diofyn, Defnyddiwch y paramedr $top ar eich galwad, fel yn:

GAEL /Insights Dev/_api/web/lists/GetByTitle('MockBlog')/eitemau?$Dewiswch = ID,Teitl,Categorïau/teitl,Blog_x0020_Author/teitl,DatePublished,BlogSummary&$ehangu = Blog_x0020_Author,Categorïau&$Hidlydd =&$brig = 9999

Cydiais 9999 yn yr achos hwn ers gwn growth-wise, Ni fydd mwy na 200 neu felly roedd rhesi yn ychwanegu at y rhestr hon yn y flwyddyn.  Os daw'n ungainly, gallwn weithredu rhai tudalennu i lawr y ffordd.

</diwedd>

undefinedTanysgrifio i fy mlog.

Dilynwch fi ar Twitter yn http://www.twitter.com/pagalvin

Cyflym a syml: Datrys "Paramedr URL annilys” broblem gyda UpdateListItems yn lists.asmx

Wrth weithio gyda UpdateListItems drwy lists.asmx, Mae'n hawdd i gynhyrchu y gwall:

Paramedr URL annilys.

Mae'r URL a ddarperir yn cynnwys gorchymyn annilys neu gwerth. Gwiriwch yr URL eto.

Gallwch gael y gwall hwn pan ydych yn anghofio cynnwys ID yn y rhestr o feysydd i ddiweddaru.  Mae hyn yn, fel llawer o hyn SP gwasanaethau gwe, yn groes i bob greddf ychydig ers y mae angen i chi gynnwys yr ID yn y priodoledd ID o y <Dull> elfen.  Ac nad ydych yn diweddaru ID a fwy na thebyg byth eisiau yn y lle cyntaf.

Gwaith hwn amlen SEBON:

<soapenv:Xmlns Amlen:soapenv =' http://schemas.xmlsoap.org/SOAP/Envelope/'>
  <soapenv:Corff>                      
    <UpdateListItems xmlns =' http://schemas.Microsoft.com/SharePoint/Soap/'>                     
      <Collddail>{C712E2EA-54E1-47AD-9D99-1848C7773E2F}</Collddail>                     
        <diweddariadau>                     
         <Swp OnError ="Yn parhau">
          <Dull ID ="1" Orchymyn ="Diweddariad">
            <Maes enw ="CooperativeLock">ar glo!</Maes>
            <Maes enw ="ID">1</Maes>
          </Dull>
        </Swp>                     
        </diweddariadau>                
      </UpdateListItems>             
  </soapenv:Corff>         
</soapenv:Amlen>

Os Mae eich gwared y ID cae wedyn cewch y neges "URL annilys paramedr" annifyr.

</diwedd>

undefinedTanysgrifio i fy mlog.

Dilynwch fi ar Twitter yn http://www.twitter.com/pagalvin