Categoria Arkistot: LOPUT

HTTP 406 Virhe käytettäessä kulmikas $http.get vastaan SharePoint loput loppupisteet

Päivitys: Marc AD ndersson huomautti, tämä suuri pala info: http://blogs.Office.com/2014/08/13/JSON-Light-support-Rest-SharePoint-API-Released/. Tämä selittää paljon :).

Se voi olla pahin otsikko blogi koskaan! Anyhoo.

En yleensä kaikki minun prototyyppien vastaan O365-esiintymä. Minulla on minun henkilökohtainen tapauksessa, jotta ei tarvitse olla huolissaan vaikuttaa joku muu. Sivuhuomautuksena-muistettava, kun kehotamme kuljettaa ympäri virtuaalikoneita meidän läppäreissä MOSS – SQL Server, IIS, päättää Hyper-V vs. VMWare? Anyhoo...

Olin kehittänyt app avulla kulmikas tässä ympäristössä, joka tekee, muun muassa, Tämä:

$http.Get(serverUrl)
.menestys(funktio(tiedot, tila, otsikot, config) {

var getLinksResponse = data;

getLinksResponse.value.forEach(funktio(tulokset toimijalle) {

// ja niin edelleen ja niin Vaahdota

Tämä toimi hienosti kahdessa eri SharePoint online ympäristöissä. Kuitenkin, Kun kollegani ennustaa sen Cloudshare esiintymä, Hän oli tulossa HTTP 406 Virhe (mikä oli ensimmäistä kertaa olen koskaan saanut tuosta, joten... jee, Arvaan). Teimme vähän tutkimusta ja huomasin, että "Hyväksy"-otsikon oli pois. SharePoint Onlinessa on täysin tyytyväinen:

Hyväksy: sovellus/json

Mutta cloudshare esiintymä (Mikä on SP prem, isännöi vuonna virtuaalinen palvelin) Ostetaan klassikko "odata = verbose" lisätään myös:

Hyväksy: sovellus/json;OData = verbose

Vahvistaa, että, Lisäsimme otsikon sellaisenaan:

var config = {otsikot: {
"Salli": "application/json;OData = verbose "
}
};

$http.Get(serverUrl,config)
.menestys(funktio(tiedot, tila, otsikot, config) {

var getLinksResponse = data;

getLinksResponse.value.forEach(funktio(tulokset toimijalle) {

// ja niin edelleen ja niin Vaahdota

Että pääsi eroon 406, mutta myös muuttaa vastauksen muoto. Se oli enemmän... verbose. (haha!) Lisää muutoksia ja tässä on lopputulos:

var config = {otsikot: {
"Salli": "application/json;OData = verbose "
}
};

$http.Get(serverUrl,config)
.menestys(funktio(tiedot, tila, otsikot, config) {

var getLinksResponse = data;

getLinksResponse.d.Results.forEach(funktio(tulokset toimijalle) {

// ja niin edelleen ja niin Vaahdota

Tämä vain tuli 30 meille hetken ongelma, joten meidän lucked. Toivottavasti joku pitää tätä hyödyllisenä.

</loppu>

Miten määrittää ihmiset haun laajuus / Sisältölähteen SharePointin avulla 2013 REST API

Minulla oli syytä työskennellä SharePoint 2013 Search API kautta loput ensimmäisen kerran. Halusin etsiä henkilöitä, eikä tiedostoja. Oppi on, että voit määrittää sisältölähteiden kautta sen GUID-tunnus (tai ainakin tässä tapauksessa). Seuraava jQuery pätkä osoittaa miten:

    loadExpertsAsync: funktio() {

        jQuery.support.cors = tosi;

        $.Ajax({
            URL-osoite: Tämä.CreateFullApiUrl() +
                "?QueryText = "portaalit"&SourceId = "b09a7990-05ea-4af9-81ef-edfab16c4e31"" +
                "&selectproperties ='LinkedInProfileUrl,GoogleCirclesProfileUrl,BALargeProfilePictureUrls,BAGridPictures,WorkEmail,Taidot,AboutMe,Edut,Asema,PastProjects,PictureURL,PreferredName,TwitterHandle,LinkedInProfileUrl,PreferredName,GoogleCirclesProfileUrl "" +
                "&ROWLIMIT = 99",
            menetelmä: "SAADA",
            otsikot: { "Hyväksy": "sovellus/json; OData = verbose" },
            välimuisti: False,
            menestys: funktio (tulos) {

Minun tapauksessani, Olen käynnissä API vastaan SharePoint online. Saada GUID-tunnus, Olen seurannut näitä ohjeita:

  1. Käyttää SharePoint admin Centeriä
  2. Valitse "Etsi" vasemmalla navigointi
  3. Valitse "Hallitse tuloksen lähteet"
  4. Valitse "Paikalliset ihmiset tulokset"
  5. Tarkastella URL.

Minun URL näyttänyt jotain:

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

Lähde-entiteetin parametri on mikä työntekijä ajaksi we.

(Ymmärrän, että lähde-entiteetin voi itse asiassa olla sellainen pysyvä asia SP, but I’ll always check anyway 🙂 ).

</loppu>

undefinedTilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Esimerkki SharePoint muualla puhelut

Tässä on näyte loput vaatii, että minua ja voi auttaa myös. Alkaen 02/2014, there are two examples 🙂

  1. Viitata sarakkeen tilat sen nimi
  2. Viittaus monen valitse sarake
  3. Ihmiset haku kautta muun

 

Laitan tähän aika kuluu.

Tässä on joitakin hyödyllisiä musteet löysin myös:

Viitata sarakkeen tilat sen nimi

Luon mukautetun luettelon saraketta nimeltä "Blogin kirjoittaja" (Blogi ja laatija väli).

$select viitata sarakkeen on:

image

Yksinkertaisesti korvata tilaa "_x0020_". Näemme monia esimerkkejä _x0020_ kaikkialla internets ja loput ei ole eroa.

Jos et tee sitä, et voi panna by erehdys asia kuin nyt kuluva:

Lauseke “Blogin kirjoittaja” ei kelpaa.

Helppoa.

Viittaus monen valitse hakusarake

Määrittäminen:

  1. Luo mukautettu luettelo nimeltä Luokat.
  2. Lisätä joitakin tavaraluokkia. Lisäsin luokat thusly:image
  3. Toisen mukautetun luettelon nimeltään MockBlog luominen ja Lisää kategoria Monivalintaluettelo sarakkeena (tai sivuston sarakkeen, jos se miten osoitat).

Joidenkin kohteiden lisääminen Mockblog ja olet valmis.

Ajax tyyli puheluun käyttäen jQuery näyttää suunnilleen tältä:

serverUrl  = "/_api/web/luettelot/GetByTitle("MockBlog")/kohteita" +
             "?$Valitse = otsikko,Luokat/otsikko,Blog_x0020_Author/otsikko" + 
             "&$Laajenna = Blog_x0020_Author,Luokat";

Jota kerromme SharePoint "antaa aihetta kaikissa luokissa (Luokat/otsikko). Todellisten arvojen saamiseksi Otsikko mukaan $LaajennaING Luokat-luettelosta." (Rauhallista siteeraten on luultavasti melko väljä, mutta Miten tulkitsen sen).

Jos teet tämän ohjelman ja käyttäen Viulunsoittaja tarkastella tuotannon, saat jotain tällaista:

 

image

(Edellä on JSON objekti)

Ihmiset haku kautta muun

Olen blogged tästä erikseen. Avain on määrittää sourceid-parametrin, jonka arvo on paikallisten asukkaiden sisältölähteen GUID-tunnus. (Sisältölähteiden käytetään nimitystä laajuuksia ja se on minun-oh-my niin vaikea olla kutsua kaikki varaa minulle!).

Lue lisää siitä täällä: http://www.mstechblogs.com/paul/?p=10385

 

</loppu>

undefinedTilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Nopea ja helppo: Luoda SharePoint-sivuston käyttäen REST

On olemassa paljon rahoitusta, jotka osoittavat, miten tämä, mutta en löytänyt kattavaa mennä linkki, Joten tässä me olemme.

Voit luoda SharePoint-sivustoon käyttämällä REST API.  Tässä on täysin paistetaan esimerkki:

<!--
    SiteRequestForm.html: Kerätä tietoa ja luoda sivuston käyttäjälle.
-->

<Center>
<taulukko>
    <TR>
        <TD>Sivustonimi:</TD>
        <TD><Input tyyppi= "teksti" Nimi"SiteName =" tunnus"SiteName =" /></TD>
    </TR>
    <TR>
        <TD colspan"2 =">
            <Input tyyppi= "Lähetä" tunnus= "CreateSiteButton" arvo= "Luo sivusto" />
        </TD>
    </TR>
</taulukko>
</Center>

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

<Script>
var CreateSiteLogicContainer = {

    createSiteData: {
            "parametrit": {
                __metadata: { "tyyppi": "SP.WebInfoCreationInformation" },
                URL-osoite: "Paultest1",
                Otsikko: "Paultest1",
                Kuvaus: "muun luomaa web Paul!",
                Kieli: 1033,
                WebTemplate: "s",
                UseUniquePermissions: False
            }
    },

    createSite: funktio () {

        jQuery.support.cors = tosi;

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

            otsikot: {
                "hyväksy": "application/json; OData = verbose",
                content-type": "application/json;OData = verbose",
                "X-RequestDigest": $("#__REQUESTDIGEST").Val()
            },

            tiedot: JSON.stringify(CreateSiteLogicContainer.createSiteData),

            menestys: funktio () { hälytys("menestys"); },
            Virhe: funktio () { hälytys("virhe"); }

        });
    },

    wireUpForm: funktio () {
        $("#CreateSiteButton").Valitse(funktio () {
            hälytys("Aikeissa kokeilla ja luoda sivuston.");
            CreateSiteLogicContainer.createSite();
        });
    }


}

CreateSiteLogicContainer.wireUpForm();

</Script>

Kun onnistunut, Saat JSON paketin vastausta tältä:

image

Keskeisiä ajatuksia ja oppimistaan tällä:

  • Tämä lähestymistapa käyttää jQuery.  Minun tapauksessani, jQuery Kirjasto sijaitsee ".../ plugins. "  Haluat muuttaa hakea suosikki JQ sijainnin.
  • Kopioi ja liitä että koko pätkä sivun sisällön muokkaus-Web-osassa ja se toimii yhtä hyvin.  Haluat muuttaa API-kutsu päätepiste ja varmista, että viittaat JQ oikein.
  • Paikannin on suhteellinen API: n päätepiste.  Minun tapauksessani, se luo osa-sivustoja alla https://bigapplesharepoint.com
  • Sinun ei tarvitse antaa sisällön pituus. Blogiviestit ja MSDN asiakirja edellyttää, että teet, mutta tapahtui minulle automaattisesti, jonka oletan on hoitaa $.ajax puhelu itsessään.
  • Tämä rivi on välttämätöntä välttämiseksi "kielletty" vastaus: "X-RequestDigest": $("#__REQUESTDIGEST").Val().  On olemassa muita tapoja tehdä se, mutta tämä on ihan kiva.  Olen menettänyt linkki blogiin, että jos tämä pikakuvake.  Hännikäinen sinulle, salaperäinen blogger!

Onnea ja toivottavasti tämä auttaa jotakuta.

</loppu>

undefinedTilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Nopea ja yksinkertainen: SharePoint loput soittaa vain palauttaa 100 Tietueet

Olen työskennellyt julkisen edessä web-sivuston SharePoint käytäntö täällä New York ja se käyttää paljon JavaScript ja loput vaatii Näytä sisältö.

Kaukoliikenteen kehityksen aikana, Luon pieni dataset on vain 10 tai niin rivien mukautetun luettelon ja loput puheluni sieltä.  Kerran bumped luettelo on muutamia satoja rivejä tiedot testata ennakoitu kasvu, Huomasin, että olin saada tarkalleen 100 palauttaa taaksepäin model after minun muut puhelut.

Tämä on hyvin yksinkertainen asia käsitellä.  Minun tapauksessani (ja mielestäni useimmiten), oletuksena loput vaatii SharePoint (ja mahdollisesti alan standardi?) paluu 100 rivit.  Palata enemmän kuin oletus, Käytä $top-parametria puhelu, kuten:

SAADA /Insights Dev/_api/web/lists/GetByTitle("MockBlog")/kohteita?$Valitse = ID,Otsikko,Luokat/otsikko,Blog_x0020_Author/otsikko,DatePublished,BlogSummary&$Laajenna = Blog_x0020_Author,Luokat&$suodatin =&$Top = 9999

Otin 9999 Tässä tapauksessa koska tiedän, että growth-wise, ei tule yli 200 tai niin rivejä lisätään luetteloon vuodessa.  Jos käy kömpelö, voimme toteuttaa joitakin henkilöhaku tiellä.

</loppu>

undefinedTilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin