Kategooria Arhiiv: ÜLEJÄÄNUD

HTTP 406 Viga kasutamisel nurgeliste $http.get vastu SharePointi ülejäänud lõpp-punktid

Värskendus: Marc AD ndersson märkis see suur tükk info: http://blogs.Office.com/2014/08/13/JSON-Light-Support-REST-SharePoint-API-released/. Mis seletab palju :).

See võib olla halvim pealkiri blogi postitus kunagi! Anyhoo.

Ma tavaliselt kõik minu prototüüpimiseks vastu O365 eksemplar. Mul on minu isiklik eksemplar, nii et ma ei peaks olema mures mõjutavate keegi teine. Nagu kõrvale-mäletad kui me nimetame ümber virtuaalarvutid läbi meie sülearvutid MOSS-SQL Server, IIS, Otsustades Hyper-V vs. VMWare? Anyhoo...

Mul oli arenenud app kasutades nurga selles keskkonnas, mis ei, muu hulgas, See:

$http.Get(serverUrl)
.edu(funktsioon(andmed, olek, päised, config) {

var getLinksResponse = andmed;

getLinksResponse.value.forEach(funktsioon(theResult) {

// ja nii edasi ja nii vaht

See töötas suurepäraselt kahest erinevaid SharePoint online keskkondades. Aga, Kuna kolleeg portinud see Cloudshare eksemplar, ta oli saada ka HTTP 406 tõrge (mis oli esimene kord, ma kunagi sain et üks, nii... Jee, Arvan). Me tegime natuke uurida ja märganud, "Nõustu" päise oli välja. SharePoint online oli täiesti rahul:

Aktsepteeri: taotlus/json

Kuid cloudshare eksemplari (mis on SP prem, virtual server võõrustas) tahtis klassikaline "odata = verbose" lisada ka:

Aktsepteeri: taotlus/json;odata = verbose

Kinnitada, et, lisasime päise sellisena:

var config = {päised: {
"Kinnita": "rakendus/json;odata = verbose'
}
};

$http.Get(serverUrl,config)
.edu(funktsioon(andmed, olek, päised, config) {

var getLinksResponse = andmed;

getLinksResponse.value.forEach(funktsioon(theResult) {

// ja nii edasi ja nii vaht

Mis lahti on 406, kuid seda muuta ka format vastamise. See oli rohkem... verbose. (haha!) Rohkem muudatusi oli vaja ja siin on lõpptulemus:

var config = {päised: {
"Kinnita": "rakendus/json;odata = verbose'
}
};

$http.Get(serverUrl,config)
.edu(funktsioon(andmed, olek, päised, config) {

var getLinksResponse = andmed;

getLinksResponse.d.Results.forEach(funktsioon(theResult) {

// ja nii edasi ja nii vaht

See ainult muutus on 30 hetke probleemi meile, nii me lucked. Loodetavasti keegi leiab see kasulik.

</lõpp>

Kuidas määrata inimeste otsingu ulatus / SharePointi sisuallika 2013 PUHKUS API

Mul oli põhjust töötamiseks SharePointi 2013 Otsi API kaudu ülejäänud esimest korda. Ma tahtsin inimesi otsima, mitte dokumentide. Õppimine on see, et võti Määrake sisuallikate kaudu oma GUID (või vähemalt antud juhul). Järgmised jQuery väljavõte näitab kuidas:

    loadExpertsAsync: funktsioon() {

        jQuery.support.cors = True;

        $.AJAX({
            URL-i: See.CreateFullApiUrl() +
                "?querytext = "portaale"&SourceId = "b09a7990-05ea-4af9-81ef-edfab16c4e31"" +
                "&selectproperties ='LinkedInProfileUrl,GoogleCirclesProfileUrl,BALargeProfilePictureUrls,BAGridPictures,WorkEmail,Oskused,AboutMe,Huvide,Ametinimetus,PastProjects,PictureURL,PreferredName,TwitterHandle,LinkedInProfileUrl,PreferredName,GoogleCirclesProfileUrl "" +
                "&Auditipäringu = 99",
            meetod: "SAADA",
            päised: { "Aktsepteeri": "taotlus/json; odata = verbose" },
            vahemälu: väär,
            edu: funktsioon (tulemus) {

Minu puhul, Jooksen API vastu SharePoint online. Saada GUID, Ma järgisin järgmiselt.:

  1. Juurdepääs SharePointi administreerimiskeskuses
  2. Valige "Otsi" vasakul navigeerimine
  3. Valige "Halda tulemus allikad"
  4. Valige "Kohalike inimeste tulemused"
  5. Pilk URL.

Minu URL otsisin midagi sellist:

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

Sourceid parameeter on, mis töötas minuga.

(Ma saan aru, et sourceid võib tegelikult olla selline pidev asi SP, but I’ll always check anyway 🙂 ).

</lõpp>

undefinedTelli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

Näiteks SharePointi ülejäänud kõnedele

Siin on proov ülejäänud kõned, mis töö minu ja võib aidata teil ka komplekt. Seisuga 02/2014, there are two examples 🙂

  1. Veeru tühikuid oma nimi
  2. Mitme valikuga veeru
  3. Teha inimeste otsingu kaudu ülejäänud

 

Ma lisada see aeg möödub.

Siin on mõned kasulikud tindid märkasin samuti:

Veeru tühikuid oma nimi

Ma luua kohandatud loendi veerg nimega "Blogi autor" (Blogi ja autori vahel).

Selle veeru viide $select on:

image

Ruumi lihtsalt asendada "_x0020_". Me näeme palju näiteid _x0020_ kogu selle internets ja ülejäänud ei erine.

Kui sa ei tee seda, sa oled kohustatud sellist kuvatakse tõrketeade:

Avaldis “Blogi autori” ei sobi.

Piisavalt lihtne.

Viide hulgivaliku otsinguveerg

Saate seadistada:

  1. Luua kohandatud loendi Kategooriad.
  2. Lisada mõned kategooriad. Lisasin kategooriad thusly:image
  3. Luua teise custom loendi nimega MockBlog ja lisada kategooriaid hulgivaliku veeruna (saidi veeru, kui see, kuidas te veeretate või).

Mõne üksuse lisamiseks loendisse Mockblog ja olete valmis.

Ajax stiilis kõne kasutades jQuery otsib midagi sellist:

serverUrl  = "/_api/web/loendid/GetByTitle('MockBlog')/üksused" +
             "?$Valige pealkiri =,Kategooria/pealkiri,Blog_x0020_Author/pealkiri" + 
             "&$laiendamine = Blog_x0020_Author,Kategooriad";

Me levitame SharePointi "andke mulle pealkirja kõik kategooriad (Kategooria/pealkiri). Saada tegelikud väärtused Pealkiri poolt $LaiendaKategooriate loetelu Ing." (Minu kosutava parafraseerides on ilmselt päris lahti, Aga see kuidas ma olen tõlgendamisel).

Kui sa teed kaudu JavaScript ja kasutades viiuldaja vaadata väljund, saad midagi sellist vastutasuks:

 

image

(Kohal on JSON objekti)

Teha inimeste otsingu kaudu ülejäänud

I blogged about seda eraldi. Oluline on määrata sourceid parameeter, mille väärtus on kohalikele elanikele sisuallika GUID. (Sisuallikaid varem nimetati ulatuste ja see on minu-oh-minu nii raske mitte helistada kõik võimalused mulle!).

Loe lähemalt siit: http://www.mstechblogs.com/paul/?p=10385

 

</lõpp>

undefinedTelli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

Kiire ja lihtne: Luua SharePointi saidil, kasutades ülejäänud

Seal on palju ressursse ümber mis näitavad selle, kuid ma ei suutnud leida tervikliku go-to link, nii et siin me oleme.

Saate luua SharePointi saidil, kasutades ülejäänud API.  Siin on täielikult küpsetatud näide:

<!--
    SiteRequestForm.html: Teabe kogumine ja saidi kasutaja loomine.
-->

<keskus>
<Tabel>
    <TR>
        <TD>Saidi nimi:</TD>
        <TD><sisend tüüp= "tekst" Nimi"SiteName =" ID"SiteName =" /></TD>
    </TR>
    <TR>
        <TD ColSpan= "2">
            <sisend tüüp= "saadad" ID= "CreateSiteButton" väärtus= "Loo sait" />
        </TD>
    </TR>
</Tabel>
</keskus>

<skripti src="../Plugins/jQuery-1.11.0.min.js"></skripti>

<skripti>
var CreateSiteLogicContainer = {

    createSiteData: {
            "parameetrid": {
                __metadata: { "tüüp": "SP.WebInfoCreationInformation" },
                URL-i: "Paultest1",
                Pealkiri: "Paultest1",
                Kirjeldus: "ülejäänud loodud web Paul!",
                Keel: 1033,
                WebTemplate: "sts",
                UseUniquePermissions: väär
            }
    },

    createSite: funktsioon () {

        jQuery.support.cors = True;

        CreateSiteLogicContainer.createSiteData.parameters.Url = $("#SiteName").Val();
        
        $.AJAX({
            URL-i: "https://bigapplesharepoint.sharepoint.com/NBAIADev/_api/web/webinfos/add",
            meetod: "POST",

            päised: {
                "Võta vastu": "rakendus/json; odata = verbose",
                "sisutüüp": "rakendus/json;odata = verbose",
                "X-RequestDigest": $("#__REQUESTDIGEST").Val()
            },

            andmed: JSON.stringify(CreateSiteLogicContainer.createSiteData),

            edu: funktsioon () { märguanne("edu"); },
            tõrge: funktsioon () { märguanne("viga"); }

        });
    },

    wireUpForm: funktsioon () {
        $("#CreateSiteButton").Klõpsake nuppu(funktsioon () {
            märguanne("Umbes et proovida ning luua veebilehe.");
            CreateSiteLogicContainer.createSite();
        });
    }


}

CreateSiteLogicContainer.wireUpForm();

</skripti>

Kui edukas, saad vastuseks niimoodi JSON pakettaknad:

image

Minu peamised mõtted ja õpetused selles kaasa:

  • Selline lähenemine kasutab jQuery.  Minu puhul, minu jQuery Raamatukogu asub "../ plugins. "  Soovite muuta see oma lemmik JQ asukoha määramine.
  • Kopeeri ja kleebi see kogu koodijupi sisuredaktori veebiosa lehele ning see peaks toimima suurepäraselt.  Soovite muuta API kõne lõpp-punkti ja veenduge, et viidatava JQ õigesti.
  • URL on suhteline oma API lõpp-punkti.  Minu puhul, See loob alamsaitidele all https://bigapplesharepoint.com
  • Sa ei pea andma sisu pikkus. Mõned blogi postitused ja MSDN dokument eeldab, et sa, kuid juhtus minu jaoks automaatselt, mis eeldas tegeleb $.ajax kõne ise.
  • See rida on vajalik, et vältida "keelatud" vastus: "X-RequestDigest": $("#__REQUESTDIGEST").Val().  On ka muid võimalusi teha, Aga see on päris kena.  Ma kaotasin link blogi, et see otsetee.  H/T teile, salapärane blogger!

Edu ja loodan, et see aitab keegi välja.

</lõpp>

undefinedTelli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

Kiire ja lihtne: SharePointi ülejäänud helistada vaid tagastab 100 Kirjed

Olen töötanud avalik facing veebilehel oma SharePointi tava siin New York ja ta kasutab JavaScript ja ülejäänud nõuab palju sisu.

Põhilistele arenduse käigus, Ma luua väike andmekomplekt on lihtsalt 10 või nii ridade kohandatud loendi ja mu ülejäänud nõuab tõmbas sealt.  Kord I bumped kuni on eeldatav kasvuks testida paar sada andmeridade nimekirja, Ma leidsin, et mul oli saada täpselt 100 tagasi mu ülejäänud telefonikõnedelt tagastatavate ridade.

See on väga lihtne asi tegeleda.  Minu puhul (ja ma usun, et enamasti), Vaikimisi ülejäänud nõuab SharePoint (ja võib-olla kui tööstusharu standardile?) edasi-tagasi 100 ridu.  Tagasi rohkem kui vaikimisi, Kasutage parameetrit $top teie kõne, nagu ka:

SAAD /Insights Dev/_api/web/lists/GetByTitle('MockBlog')/üksused?$Valige = ID,Pealkiri,Kategooria/pealkiri,Blog_x0020_Author/pealkiri,DatePublished,BlogSummary&$laiendamine = Blog_x0020_Author,Kategooriad&$filtri =&$Top = 9999

Ma valisin 9999 Sel juhul kuna ma tean et growth-wise, seal ei ole enam kui 200 või nii ridade lisatakse sellesse loendisse aastas.  Kui see muutub ungainly, saame rakendada mõningaid kutsungi mööda teed.

</lõpp>

undefinedTelli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin