Havi Archívum: Február 2014

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

Leküzdeni a bosszantó probléma a relatív URL-címeket a SharePoint gyors dob

Azt akartam, hogy adjunk hozzá egy linket a Gyorsindítás navigációs a minap, és SharePoint azt mondta nekem:

image

Tiszta szöveges változat, hogy az:

Biztosítja, hogy az URL-cím érvényes, és kezdődik vagy érvénytelen karakter (kettőskereszt (#) vagy perjel (/)) vagy egy érvényes támogatott protokoll (például, "http://’, "https://’, "fájl://’, "ftp://’, "mailto:’, "Hírek:’).

"Blech és kecskehimlő!"Azt mondta.

Egy workaround-hoz ez, hogy JavaScript segítségével talál egy ismert láncszem-ban gyors dob és a viselkedés felülbírálásához.

Ez a teszt, új hivatkozás hozzáadása a vizsgálati helyszín imigyen:

image

Én használt a jQuery. Kell megoldani, hogy, egy kis JavaScript és jQuery alakzatot a rajzlapra, a kedvenc technikával, és egy vonal-ból kód, mint ez:

 

$(dokumentum).kész( függvény () {

    $("egy:tartalmaz("Vizsgálati csere URL-címe")").kattintson a(függvény () { Figyelmeztetés("megváltozott kattintson a viselkedés!"); vissza hamis;});

});

És Bob a nagybátyja.

A jQuery-választó találja minden <egy> címke, amely neve "Teszt URL csere". Szabad akar-hoz talál-dallamot, hogy attól függően, hogy a link, és az ilyen.

A ha(függvény() felülbírálja, bármilyen SharePoint lett volna, amikor a felhasználó kattintott. Győződjön meg arról, hogy "return false" vagy máshol ez a dolgokat, és próbálja meg a href dolog túl, és ez szinte minden bizonnyal nem a cél.

Ez történt, és a SharePoint online környezetben teszt de kell jól működik 2010 és korábban is.

</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

Gyors és egyszerű: Oldja meg "Érvénytelen URL-paraméter” probléma-val UpdateListItems-ban lists.asmx

Amikor a dolgozó UpdateListItems via lists.asmx, könnyű a hibát:

Érvénytelen URL-paraméter.

Az URL-cím tartalmaz egy érvénytelen parancsot vagy értéket. Kérjük, ellenőrizze az URL-cím újra.

Lehet kapni ezt a hibát, amikor elfelejted, ID felvenni a mezők frissítése.  Ez, mint egy csomó a SP webes szolgáltatások, egy kicsit counterintuitive, óta ön szükség, hogy az ID az ID attribútuma a <A módszer> elemet.  És te nem frissített ID, és valószínűleg soha nem akarja az első helyen.

A SOAP-boríték működik:

<soapenv:Boríték xmlns:soapenv ="http://schemas.xmlsoap.org/SOAP/Envelope/'>
  <soapenv:Szerv>                      
    <UpdateListItems xmlns ="http://schemas.microsoft.com/SharePoint/SOAP/'>                     
      <listName>{C712E2EA-54E1-47AD-9D99-1848C7773E2F}</listName>                     
        <frissítések>                     
         <Kötegelt OnError ="Továbbra is">
          <Módszer ID ="1" Cmd ="Frissítés">
            <Mező neve ="CooperativeLock">zárt!</A mező>
            <Mező neve ="ID">1</A mező>
          </A módszer>
        </Egy tétel>                     
        </frissítések>                
      </UpdateListItems>             
  </soapenv:Szerv>         
</soapenv:Boríték>

Ha a szalag ki az ID mező hivatkozást, akkor kapsz a bosszantó üzenet "Érvénytelen URL-paraméter".

</vége>

undefinedSubscribe to my blog.

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