Category Archives: TÖBBI

HTTP 406 Hiba mikor használ szögletes $http.get ellen SharePoint többi végpontok

Frissítés: Marc AD ndersson rámutatott, ezt a nagy darab info: http://blogs.Office.com/2014/08/13/JSON-Light-support-Rest-SharePoint-API-Released/. Hogy sok mindent megmagyaráz :).

Lehet, hogy a legrosszabb cím egy blog felad valaha! Anyhoo.

Általában csinálni, minden az én prototípus ellen O365 példány. Nekem van az én-m személyes például úgy, hogy ne kelljen érintő valaki aggódik. Mint egy félre-emlékszik mikor hívjuk végzett, ezen a környéken: virtuális gépek a mi laptopok-és MOSS-SQL Server, IIS, döntés a Hyper-V vs. VMWare? Anyhoo...

Én alakult egy app segítségével szög ebben a környezetben amit csinál, egyebek, Ez:

$http.Get(serverUrl)
.siker(függvény(adatok, állapot, fejlécek, config) {

var getLinksResponse = adatok;

getLinksResponse.value.forEach(függvény(importőrrel) {

// és így tovább és így hab.

Ez volt csak finom környezetben dolgozó két különböző SharePoint online. Azonban, Mikor a kollégám átvittem ez egy Cloudshare-példány, ő volt szerzés egy HTTP 406 hiba (melyik volt az első alkalom, amit valaha kaptam, hogy az egyik, így... yay, azt hiszem). Csináltam egy kis kutatást, és észrevettem, hogy az "Elfogadom" fej le. SharePoint online tökéletesen elégedett volt:

Fogadja el: Application/json

De a cloudshare példány (amely az SP prem, a virtuális kiszolgálón tárolt) szerettem volna a klasszikus "odata = verbose" hozzáadott-ban, valamint:

Fogadja el: Application/json;OData = verbose

Rögzíteni, hogy, adtunk a fejlécben ilyen:

var config = {fejlécek: {
'Accept': "application/json;OData = verbose "
}
};

$http.Get(serverUrl,config)
.siker(függvény(adatok, állapot, fejlécek, config) {

var getLinksResponse = adatok;

getLinksResponse.value.forEach(függvény(importőrrel) {

// és így tovább és így hab.

Hogy megszabadultak az 406, de ez is megváltozott a formátum a válasz. Ez több volt... részletes. (haha!) További módosítások voltak szükségesek, és itt van a végleges eredmény:

var config = {fejlécek: {
'Accept': "application/json;OData = verbose "
}
};

$http.Get(serverUrl,config)
.siker(függvény(adatok, állapot, fejlécek, config) {

var getLinksResponse = adatok;

getLinksResponse.d.Results.forEach(függvény(importőrrel) {

// és így tovább és így hab.

Ez csak esztergált-ba egy 30 perc probléma a számunkra, Tehát mi lucked arra. Remélhetőleg valaki talál ez hasznos.

</vége>

Hogyan lehet megadni az emberek keresési hatókörként / Tartalomforrások SharePoint 2013 REST API

Volt az oka, hogy működjön együtt a SharePoint 2013 Via többi először Search API. Azt akartam, hogy keressen az emberek, nem dokumentumokat. A kulcs itt az, hogy a tanulás megadhatja a tartalomforrások keresztül a globálisan egyedi Azonosítóra (vagy legalábbis ebben az esetben). A következő jQuery részlet megmutatja, hogy hogyan:

    loadExpertsAsync: függvény() {

        jQuery.support.cors = igaz;

        $.Ajax({
            URL: Ez.CreateFullApiUrl() +
                "?QueryText = "portálok"&SourceId = "b09a7990-05ea-4af9-81ef-edfab16c4e31"" +
                "&selectproperties ='LinkedInProfileUrl,GoogleCirclesProfileUrl,BALargeProfilePictureUrls,BAGridPictures,WorkEmail,Készségek,AboutMe,Érdekeit,Munkakör,PastProjects,PictureURL,PreferredName,TwitterHandle,LinkedInProfileUrl,PreferredName,GoogleCirclesProfileUrl'" +
                "&a ROWLIMIT = 99",
            a módszer: "KAP",
            fejlécek: { "Fogadja el": "Application/json; OData = verbose" },
            gyorsítótár: hamis,
            siker: függvény (eredmény) {

Az én esetemben, Én futás a API ellen SharePoint online. Ahhoz, hogy a globálisan egyedi azonosító, Követtem a lépéseket:

  1. Hozzáférés a SharePoint admin center
  2. Válassza a "keresés", a bal oldali navigációs
  3. Válassza a "Manage eredmény források"
  4. Válassza ki a "Helyiek eredmények"
  5. Nézd meg az URL.

Az én-m URL nézett valamit, mint:

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

A sourceid paraméter mi munkás értem.

(Megértem, hogy a sourceid valójában lehet egyfajta állandó dolog-val SP, de azért mindig megnézem 🙂 ).

</vége>

undefinedSubscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin

Példa SharePoint többi hívások

Itt van egy minta többi hívások, hogy működik nekem, és talán segít, hogy ki is. Mint a 02/2014, there are two examples 🙂

  1. Hivatkozik egy oszlopra, a nevében szóközöket tartalmazó
  2. Hivatkozás a több-Select oszlop
  3. Keresztül a többi ember lekérdezéshez

 

Majd hozzáteszik, hogy ez az idő múlásával.

Itt van néhány hasznos festékek, azt találtuk, valamint:

Hivatkozik egy oszlopra, a nevében szóközöket tartalmazó

Egyéni lista készítése "Blog szerzője" nevű oszlop (a Blog és a szerző közötti tér).

A $select való hivatkozást az oszlop van:

image

Egyszerűen cserélje ki a helyet a "_x0020_". A _x0020_ számos példa látjuk át a internets és nem különbözik a többi.

Ha ezt nem teszed, te vagy a felelős, hogy kap egy hiba üzenet mint ez:

A kifejezés “Blog szerzője” Érvénytelen.

Elég könnyű.

Hivatkozás a multi-select keresőoszlop

Beállítása:

  1. Kategória nevű egyéni lista létrehozása.
  2. Bizonyos. Én hozzá a kategóriák imigyen:image
  3. Hozzon létre egy egyéni listát, úgynevezett MockBlog, és hozzá a kategóriákat, mint a Többszörös kijelölési lista oszlopa (vagy oszlop oldalon, ha ez hogyan roll).

Egyes elemek hozzáadása a Mockblog listát, és készen áll.

Az Ajax style hívás segítségével jQuery fog kinézni:

serverUrl  = (egyenlőségjel) "/_api/web/lista/GetByTitle("MockBlog")/elemek" +
             "?$Válasszon = cím,Kategóriák/cím,Cím/Blog_x0020_Author" + 
             "&$Bontsa ki a = Blog_x0020_Author,Kategóriák";

Mesélünk SharePoint "Adj címet a kategóriák (Kategóriák/cím). Kap a tényleges értékek Cím által $Bontsa ki anek a Kategóriák listában." (Valószínűleg nagyon laza az én nyugodt parafrázisa, de ez milyen vagyok értelmezése).

Ha csinálsz ez keresztül JavaScript, és Hegedűs segítségével tekintse meg a kimeneti, cserébe kap valamit, mint ez:

 

image

(A fenti egy JSON objektumot)

Keresztül a többi ember lekérdezéshez

Én blogged erről külön-külön. A legfontosabb, hogy adja meg a sourceid paramétert, amelynek értéke a helyi emberek tartalomforrás GUID-. (Tartalomforrások hozzászokott lenni hatókörök, és a my-ó-én olyan nehéz, hogy nem hívja mindent nekem hatókör!).

Olvas több erről itt: http://www.mstechblogs.com/paul/?p=10385

 

</vége>

undefinedSubscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin

Gyors és egyszerű: A többi SharePoint-webhely létrehozása

Vannak sok erőforrást, ezen a környéken: azt mutatják, hogyan kell ezt csinálni, de én nem tudott talál egy átfogó go-to link, Tehát itt vagyunk.

A REST API-t használó SharePoint-webhely létrehozása  Itt van egy teljes mértékben sült példa:

<!--
    SiteRequestForm.html: Információkat gyűjt, és létrehoz egy webhelyet, a felhasználó számára.
-->

<központ>
<táblázat>
    <TR>
        <TF>Hely neve:</TF>
        <TF><bemenet típus= "szöveg" név"SiteName =" azonosító"SiteName =" /></TF>
    </TR>
    <TR>
        <TF colspan"2 =">
            <bemenet típus= "submit" azonosító= "CreateSiteButton" érték= "A webhely létrehozása" />
        </TF>
    </TR>
</táblázat>
</központ>

<parancsfájl src="../Plugins/jQuery-1.11.0.min.js"></parancsfájl>

<parancsfájl>
var CreateSiteLogicContainer = {

    createSiteData: {
            "paraméterek": {
                __metadata: { "típus": "SP.WebInfoCreationInformation" },
                URL-címe: "Paultest1",
                Cím: "Paultest1",
                Leírás: "többi létrehozott web Paul!",
                Nyelv: 1033,
                A rendszer: "sts",
                UseUniquePermissions: hamis
            }
    },

    createSite: függvény () {

        jQuery.support.cors = igaz;

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

            fejlécek: {
                "fogadd el": "application/json; OData = verbose",
                "content-type": "application/json;OData = verbose",
                "X-RequestDigest": $("#__REQUESTDIGEST").val()
            },

            adatok: JSON.stringify(CreateSiteLogicContainer.createSiteData),

            siker: függvény () { Figyelmeztetés("a siker"); },
            hiba: függvény () { Figyelmeztetés("hiba"); }

        });
    },

    wireUpForm: függvény () {
        $("#CreateSiteButton").kattintson a(függvény () {
            Figyelmeztetés("Arról, hogy próbálja meg, és a webhely létrehozása.");
            CreateSiteLogicContainer.createSite();
        });
    }


}

CreateSiteLogicContainer.wireUpForm();

</parancsfájl>

Amikor a sikeres, kapsz egy JSON csomag válasz, mint ez:

image

A fő gondolatok és tanulságait az erre:

  • Ez a megközelítés használja jQuery.  Az én esetemben, a jQuery könyvtár található ".../ plugins. "  Akkor szeretnénk változtatni, hogy a kedvenc JQ helyre.
  • Másolja, és illessze be a teljes kódrészletet a Tartalomszerkesztő kijelző egy oldalon, és ez kellet volna dolgozik csak finom.  Akkor szeretnénk változtatni API-hívás végpontja, és ellenőrizze, hogy helyesen hivatkozott JQ.
  • A URL van képest a API végpont.  Az én esetemben, -a ' teremtő alwebhely alatt https://bigapplesharepoint.com
  • Nem kell, hogy egy content-length. Néhány blogbejegyzések és MSDN dokumentum azt jelenti, hogy nem, de történt számomra automatikusan, amely feltételezem, hogy kezeli a $.ajax hívás, maga.
  • Ez vonal van szükség annak érdekében, hogy elkerüljék a "tiltott" válasz: "X-RequestDigest": $("#__REQUESTDIGEST").val().  Vannak más módjai, de ez nagyon szép.  Nekem van elveszett a link a blog, hogy ezt a parancsikont.  H/T neked, titokzatos blogger!

Sok szerencsét, és remélem, ez segít valaki.

</vége>

undefinedSubscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin

Gyors és egyszerű: SharePoint többi hívja csak visszatér 100 Rekordok

Már dolgozik a szemben lévő nyilvános webhely SharePoint gyakorlat itt a New York-i és ez használ egy csomó JavaScript és a többi felkéri a tartalom megjelenítése.

Fővonal fejlesztés során, Hozzon létre egy kis adathalmaz csak 10 vagy olyan sorokat egy egyéni listát és a többi hívások húzta ott.  Egyszer futottam a lista, hogy néhány száz adatsorok kipróbálni, a várható növekedés, Azt tapasztaltam, hogy volt szerzés pontosan 100 vissza a többi kéri a visszaadott sorok.

Ez egy nagyon egyszerű dolog, hogy foglalkozzon.  Az én esetemben (és azt hiszem, a legtöbb esetben), az alapértelmezett többi felhívja a SharePoint (és valószínűleg iparági szabvány?) vissza 100 sorok.  Vissza több, mint az alapértelmezett, használja az $top paramétert a hívás, mint a:

KAP a /Insights Dev/_api/web/lists/GetByTitle("MockBlog")/elemek?$Válasszon = azonosító,Cím,Kategóriák/cím,Cím/Blog_x0020_Author,DatePublished,BlogSummary&$Bontsa ki a = Blog_x0020_Author,Kategóriák&$Filter =&$Top = 9999

Felvettem a 9999 Ebben az esetben mivel tudom, hogy growth-wise, nem lesz több, mint 200 vagy olyan sort a listához hozzáadott egy évben.  Ha ez lesz idomtalan, Mi, végre bizonyos mértékű lapozás lefelé az úton.

</vége>

undefinedSubscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin