Kategorija Archives: POILSIO

HTTP 406 Klaida, kai naudojant kampinis $http.get nuo SharePoint poilsio hipotezes

Atnaujinimas: Marc AD ndersson nurodė šį puikus gabalas, info: http://blogs.Office.com/2014/08/13/JSON-Light-support-Rest-SharePoint-API-Released/. Tai paaiškina daug :).

Tai gali būti blogiausiu žinutę pavadinimas kada nors! Anyhoo.

Paprastai aš visus mano prototipų prieš O365 egzempliorius. Aš turiu mano asmens instancijos, kad man nereikės nerimauti dėl įtakos kas nors. Kaip panaikinti – prisiminti Kada mes vadiname atliktas aplink virtualios mašinos mūsų nešiojamieji kompiuteriai su MOSS – SQL serverio, IIS, SPRENDŽIAMOSIOS Hyper-V vs. VMWare? Anyhoo...

Man buvo sukurtas naudojant judesio kiekio šioje aplinkoje, kuri nėra app, be kita ko, tai:

$http.get(serverUrl)
.sėkmės(funkcija(duomenų, statusas, antraštės, Config) {

var getLinksResponse = duomenys;

getLinksResponse.value.forEach(funkcija(theResult) {

// ir taip puta

Tai dirbo tik baudą dviejų skirtingų SharePoint online aplinkoje. Tačiau, Kada mano kolega jis perkeltas į Cloudshare instancijos, jis buvo gauti, HTTP 406 klaida (kuris buvo pirmą kartą aš kada nors gavo, kad vienas, Taigi... yay, tikriausiai). Mes padarėme šiek tiek mokslinių tyrimų ir pastebėjau, kad "Priimti" antraštė buvo ne. SharePoint internete buvo visiškai laimingas su:

Priimti: paraiškos/json

Bet cloudshare atveju (kuri yra SP prem, vyko virtualiame serveryje) norėjo klasikinis "odata = kalbantys" įrašyti, taip pat:

Priimti: paraiškos/json;oData = kalbantys

Nustatyti, kad, Mes pridėjome antraštėje tokiais:

var config = {antraštės: {
"Priimti": "paraiškos/json;oData = kalbantys "
}
};

$http.get(serverUrl,Config)
.sėkmės(funkcija(duomenų, statusas, antraštės, Config) {

var getLinksResponse = duomenys;

getLinksResponse.value.forEach(funkcija(theResult) {

// ir taip puta

Kad atsikratyti, kad 406, Tačiau ji taip pat pakeitė formatą, atsakymas. Tai buvo daugiau... kalbantys. (Haha!) Daugiau pakeitimų buvo reikalaujama ir Štai galutinis rezultatas:

var config = {antraštės: {
"Priimti": "paraiškos/json;oData = kalbantys "
}
};

$http.get(serverUrl,Config)
.sėkmės(funkcija(duomenų, statusas, antraštės, Config) {

var getLinksResponse = duomenys;

getLinksResponse.d.results.forEach(funkcija(theResult) {

// ir taip puta

Tai tik pasuko į a 30 minutę problema mums, Taigi mes lucked. Tikimės, kad kas nors mano, kad tai naudinga.

</pabaigos>

Kaip nurodyti žmonių kaip ieškos aprėptį / Turinio šaltinio naudojant SharePoint 2013 POILSIO API

Aš turėjau priežasčių dirbti su SharePoint 2013 Paieška API per likusį pirmą kartą. Aš norėjau ieškoti žmonių, ne tik dokumentų. Klavišą mokymosi čia yra tai, kad jūs nurodote turinio šaltinių per savo GUID (ar bent šiuo atveju). JQuery fragmentą pavaizduota kaip:

    loadExpertsAsync: funkcija() {

        jQuery.support.cors = tiesa;

        $.Ajax({
            URL: tai.CreateFullApiUrl() +
                "?querytext = "portalai"&SourceId = "b09a7990-05ea-4af9-81ef-edfab16c4e31"" +
                "&selectproperties ='LinkedInProfileUrl,GoogleCirclesProfileUrl,BALargeProfilePictureUrls,BAGridPictures,WorkEmail,Įgūdžių,AboutMe,Interesų,Pareigos,PastProjects,PictureURL,PreferredName,TwitterHandle,LinkedInProfileUrl,PreferredName,GoogleCirclesProfileUrl "" +
                "&rowlimit = 99",
            metodas: "GAUTI",
            antraštės: { "Priimti": "paraiškos/json; oData = kalbantys" },
            talpyklos: klaidinga,
            sėkmės: funkcija (rezultatas) {

Mano atveju, Aš einu API su SharePoint internete. Gauti GUID, Atlikau šiuos veiksmus:

  1. Prieigą prie SharePoint administravimo centro
  2. Pasirinkite "ieškoti" nuo kairλ ranka navigacija
  3. Pasirinkę punktą "Tvarkyti rezultatas šaltinių"
  4. Pasirinkite "Vietos žmonių rezultatai"
  5. Pažvelgti į URL.

Mano URL atrodė:

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

SourceId objektas yra ką dirbo už mane.

(Aš suprantu, kad sourceid iš tiesų gali būti savotiška nuolatinis dalykas su SP, but I’ll always check anyway 🙂 ).

</pabaigos>

undefinedPrenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Pavyzdys SharePoint poilsio skambučius

Čia yra tam tikrų bandinio poilsio skambučius, kad darbą už mane ir gali padėti jums atlikti taip pat. Nuo 02/2014, there are two examples 🙂

  1. Nurodyti stulpelį su tarpais, jos vardu
  2. Kelių elementų žymėjimo stulpelio nuoroda
  3. Žmonių ieškos per poilsio

 

Aš pievienošu tai laikui bėgant.

Štai keletas naudingų dažai radau taip pat:

Nurodyti stulpelį su tarpais, jos vardu

Sukurti pasirinktinį sąrašą su stulpelis, pavadinimu "Dienoraščio autorius" (tarpas tarp dienoraštį ir autorius).

$select nurodyti, kad stulpelis yra:

image

Tiesiog pakeisti vietos, su "_x0020_". Mes matome _x0020_ daugybė pavyzdžių per internetas ir poilsio nesiskiria.

Jei nenorite daryti, esate linkęs gauti klaidos pranešimą, kaip tai:

Išraiška “Dienoraščio autorius” negalioja.

Gana paprasta.

Multi-pasirinkite peržvalgos stulpelio nuoroda

Nustatyti:

  1. Kurti pasirinktinį sąrašą, pavadintas kategorijos.
  2. Pridėti kai kurių kategorijų. Dodałem kategorijų thusly:image
  3. Sukurti kitą pasirinktinį sąrašą ir pavadinti jį MockBlog ir Pridėk kategorijos kelių objektų žymėjimo sąrašo stulpelyje (ar svetainėje skiltyje, jei tai, kaip jūs roll).

Pridėti prekę į Mockblog sąrašą ir būsite pasiruošę.

Kai naudojant jQuery Ajax stiliaus skambina atrodys maždaug taip:

serverUrl   = "/_api/web/sąrašai/GetByTitle("MockBlog")/elementai" +
             "?$Pasirinkite = pavadinimas,Kategorijos/pavadinimas,Blog_x0020_Author/pavadinimas" + 
             "&$išplėsti = Blog_x0020_Author,Kategorijos";

Mes sakai SharePoint "man pavadinimas visų kategorijų (Kategorijos/pavadinimas). Gauti tikrąsias vertes Antraštinė dalis pagal $išplėstimas kategorijų sąrašą." (Mano ramus perfrazuojant yra turbūt gana platus, bet tai kaip aš jį žodžiu).

Jei jūs darote tai per JavaScript ir naudojant smuikininkas Žiūrėk, galite gauti kažką panašaus į tai mainais:

 

image

(Aukščiau yra JSON objektu)

Žmonių ieškos per poilsio

Aš blogų apie tai atskirai. Svarbiausia yra nustatyti sourceid parametrą, kurių vertė yra vietinių gyventojų turinio šaltinio GUID. (Šaltiniuose naudojama taip vadinama aprėpties ir ji yra mano-o-mano taip sunku ne skambinti viskas man apimtį!).

Plačiau apie jį: http://www.mstechblogs.com/paul/?p=10385

 

</pabaigos>

undefinedPrenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Greitai ir lengvai: Sukurti SharePoint svetainėje naudodami poilsio

Yra daug išteklių aplink tą parodyti kaip tai padaryti, bet aš negalėjo rasti išsamią pereiti į nuorodą, Taigi čia mes.

Galite sukurti SharePoint svetainėje naudodami poilsio API.  Čia yra visiškai keptos pavyzdys:

<!--
    SiteRequestForm.html: Rinkti informaciją ir kurti svetainę, skirtą vartotojo.
-->

<centras>
<lentelė>
    <TR>
        <TD>Svetainės pavadinimas:</TD>
        <TD><įvedimo tipo= "tekstas" vardas, pavadinimas= "SiteName" ID= "SiteName" /></TD>
    </TR>
    <TR>
        <TD stulpelio apimties= "2">
            <įvedimo tipo= "pateikti" ID= "CreateSiteButton" vertė= "Sukurti svetainės" />
        </TD>
    </TR>
</lentelė>
</centras>

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

<scenarijų>
var CreateSiteLogicContainer = {

    createSiteData: {
            "parametrai": {
                __metadata: { "tipo": "SP.WebInfoCreationInformation" },
                URL: "Paultest1",
                Antraštinė dalis: "Paultest1",
                Aprašymas: "poilsio sukurtas web by Paulius!",
                Kalba: 1033,
                Tinklalapio šablono: "sts",
                UseUniquePermissions: klaidinga
            }
    },

    createSite: funkcija () {

        jQuery.support.cors = tiesa;

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

            antraštės: {
                "Priimti": "paraiškos/json; oData = kalbantys",
                "content-type": "paraiškos/json;oData = kalbantys",
                "X-RequestDigest": $("#__REQUESTDIGEST").val()
            },

            duomenų: JSON.stringify(CreateSiteLogicContainer.createSiteData),

            sėkmės: funkcija () { perspėjimas("sėkmė"); },
            klaida: funkcija () { perspėjimas("klaida"); }

        });
    },

    wireUpForm: funkcija () {
        $("#CreateSiteButton").spustelėkite(funkcija () {
            perspėjimas("Pasiruošę išbandyti ir sukurti svetainę.");
            CreateSiteLogicContainer.createSite();
        });
    }


}

CreateSiteLogicContainer.wireUpForm();

</scenarijų>

Kai sėkmingai, Jūs gaunate JSON pakelio atsakymą kaip tai:

image

Mano pagrindinė mintis ir learnings nuo tokių:

  • Šis metodas naudoja jQuery.  Mano atveju, mano jQuery biblioteka įsikūrusi ".../ plugins. "  Jūs norite pakeisti, kad rodytų į jūsų mėgstamą JQ vietą.
  • Jūs galite kopijuoti ir įklijuoti tą visą fragmentą į turinio rengyklės žiniatinklio dalį puslapyje ir ji turi dirbti gerai.  Jūs norite pakeisti galutinis taškas iš API iškvietimas ir įsitikinkite, kad jūs nurodote JQ teisingai.
  • URL yra su savo API galutinį tašką.  Mano atveju, tai yra sukurti antrinės svetainės apačioje https://bigapplesharepoint.com
  • Jums nereikia būti turinį-trumpesni. Kai dienoraščio ir MSDN dokumente reiškia, kad jūs, bet atsitiko man automatiškai, Aš manau yra perkrauta .ajax $ skelbiant pati.
  • Šios eilutės yra reikalinga vengti "draudžiama" atsakymo: "X-RequestDigest": $("#__REQUESTDIGEST").val().  Yra ir kitų būdų tai padaryti, bet tai yra labai gražus.  Aš pamečiau nuorodą į dienoraštį, kad jeigu ši nuoroda.  H/T jums, paslaptingas blogger!

Geros kloties ir tikiuosi, kad tai padės kam nors.

</pabaigos>

undefinedPrenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Greitas ir paprastas: SharePoint poilsio skambinti tik grąžina 100 Įrašai

Aš dirbu visuomenės susiduria su interneto svetainėje mano SharePoint praktikos čia Niujorkas ir ji naudoja daug JavaScript ir poilsio skambučių parinktis Rodyti turinį.

Per geležinkelio plėtros, Sukurti mažas dataset tik 10 arba taip eilučių pasirinktinį sąrašą ir mano poilsio ragina visus traukti iš ten.  Vieną kartą aš Iškilioji sąrašą, kad keletą šimtų eilučių duomenų mėginys tikėtasi augimas, Radau, kad aš gaunu tiksliai 100 eilučių grįžo atgal į savo poilsio skambučius.

Tai labai paprastas dalykas spręsti.  Mano atveju (ir manau, daugeliu atvejų), Numatytasis poilsio kviečia į "SharePoint" (ir galbūt kaip standartinė pramonės sektoriui?) grįžti 100 eilučių.  Grįžti daugiau nei numatyta, Naudokite parametrą $top jūsų pokalbio, kaip ir:

GAUTI /Insights Dev/_api/web/lists/GetByTitle("MockBlog")/elementai?$Pasirinkite = ID,Antraštinė dalis,Kategorijos/pavadinimas,Blog_x0020_Author/pavadinimas,DatePublished,BlogSummary&$išplėsti = Blog_x0020_Author,Kategorijos&$filtras =&$viršaus = 9999

Mane pasirinko 9999 Šiuo atveju, nes žinau, kad growth-wise, nebus daugiau nei 200 ar taip eilučių pridėti prie šio sąrašo per metus.  Jei ji tampa nevikrus, mes įgyvendiname kai ieškai žemyn kelio.

</pabaigos>

undefinedPrenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin