Mesečni arhiv: Februarja 2014

Kako določiti ljudi kot obseg iskanja / Vir vsebine z uporabo SharePoint 2013 POČITEK API

Sem imel razlog za delo s SharePointovim 2013 Iskanje API preko ostalo prvič. Hotela sem, da iskanje za ljudi, ne dokumente. Tipko učenje, tukaj je, da določite vire vsebine preko GUID (ali vsaj v tem primeru). Odlomek prikazuje ta jQuery kako:

    loadExpertsAsync: Funkcija() {

        jQuery.support.cors = True;

        $.Ajax({
            URL: to.CreateFullApiUrl() +
                "?querytext = "portalov"&ID = "b09a7990-05ea-4af9-81ef-edfab16c4e31"" +
                "&selectproperties ='LinkedInProfileUrl,GoogleCirclesProfileUrl,BALargeProfilePictureUrls,BAGridPictures,WorkEmail,Spretnosti,AboutMe,Interese,Delovno mesto,PastProjects,PictureURL,PreferredName,TwitterHandle,LinkedInProfileUrl,PreferredName,GoogleCirclesProfileUrl "" +
                "&RowLimit = 99",
            metoda: "DOBILI",
            glave: { "Sprejeti": "Uporaba/json; odata = verbose" },
            predpomnilnika: FALSE,
            uspeh: Funkcija (rezultat) {

V mojem primeru, Tečem API proti SharePoint online. Da bi dobili GUID, Sledil sem te korake:

  1. Dostop do SharePoint admin center
  2. Izberite "iskanje" iz navigacije levico
  3. Izberite "upravljanje virov rezultat"
  4. Izberite »Lokalnih prebivalcev rezultati«
  5. Pogled na URL.

Moj URL pogledal nekaj podobnega:

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

ID parametra je kakšen obdelan navzlic.

(Razumem, da ID lahko dejansko nekakšno stalni stvar s SP, ampak vseeno bom vedno preverila 🙂 ).

</namen>

undefinedNaročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Primer SharePoint ostali klici

Tu je niz vzorec ostalo klicev, ki delajo za mene in lahko pomoč vi jasno tudi. Kot od 02/2014, there are two examples 🙂

  1. Sklic na stolpec s presledki v svojem imenu
  2. Referenčni multi-izberite stolpec
  3. Izvedite iskanje ljudi preko ostalo

 

Bom dodati, da to po nekem času.

Tukaj je nekaj koristnih črnila, sem našel tudi:

Sklic na stolpec s presledki v svojem imenu

I ustvarite seznam po meri z stolpec imenovan "Blog avtorja" (prostor med Blog in avtor).

$select sklicuje ta stolpec je:

image

Preprosto zamenjati prostor z "_x0020_". Vidimo _x0020_ v veliko primerov čez internets in ostalo se ne razlikuje.

Če ne naredite, ki, ste dobili sporočilo o napaki, kot je ta:

Izraz “Avtor blog” ni veljaven.

Enostavno dovolj.

Referenčni stolpec multi-izberite za iskanje

Nastavite:

  1. Ustvarite seznam po meri z imenom kategorije.
  2. Dodajte nekaj kategorij. Sem dodal kategorije thusly:image
  3. Ustvarite drug seznam po meri, ki se imenuje MockBlog in dodajte kategorije kot multi-izberite seznam stolpcev (ali stolpec mesta, če to je, kako ste roll).

Dodajanje nekaterih elementov na seznam Mockblog in ste pripravljeni.

Ajax slog klic z uporabo jQuery bo izgledala nekako takole:

serverUrl  = "/_api/web/seznami, GetByTitle("MockBlog")/elementi" +
             "?$Izberite naslov =,Kategorije/naslov,Blog_x0020_Author/naslov" + 
             "&$Razširite = Blog_x0020_Author,Kategorije";

Smo si pravi SharePoint "Daj mi naslov za vse kategorije (Kategorije/naslov). Dobili dejanske vrednosti za Naslov z $Razširiteing seznam kategorije." (Moj prijeten parafrazo je verjetno zelo ohlapno, ampak to kako sem to tolmačenje).

Če to delaš preko JavaScript in uporabo Violinista pogledati izhod, dobiš kaj takega v zameno:

 

image

(Zgoraj je predmeta JSON)

Izvedite iskanje ljudi preko ostalo

I blogged o tem posebej. Ključno je, da določite ID parametra, katerega vrednost je GUID vira vsebine domačini. (Vire vsebine, ki se uporablja za se imenuje obsegov in je my-oh-my ne tako težko poklicati vse področje zame!).

Preberite več o tem tukaj: http://www.mstechblogs.com/paul/?p=10385

 

</namen>

undefinedNaročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Hitro in enostavno: Ustvarite SharePointovo mesto z ostalo

Obstaja veliko virov okoli ki kažejo, kako to storiti, vendar nisem mogel najti povezavo obsežno go-do, Torej, tukaj smo.

Ustvarite SharePointovo mesto z uporabo programskega vmesnika REST.  Tukaj je primer popolnoma pečen:

<!--
    SiteRequestForm.html: Zbirajo informacije in ustvarite mesto za uporabnika.
-->

<Center>
<Tabela>
    <tr>
        <TD>Ime mesta:</TD>
        <TD><vnos vrsta= "besedilo" ime= "Imemesta" ID= "Imemesta" /></TD>
    </tr>
    <tr>
        <TD ColSpan= "2">
            <vnos vrsta= "submit" ID= "CreateSiteButton" vrednost= "Ustvarjanja mesta" />
        </TD>
    </tr>
</Tabela>
</Center>

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

<skript>
var CreateSiteLogicContainer = {

    createSiteData: {
            "parametri": {
                __metadata: { "tip": "SP.WebInfoCreationInformation" },
                URL: "Paultest1",
                Naslov: "Paultest1",
                Opis: "preostali ustvaril spletno z Paul!",
                Jezik: 1033,
                Spletne: "sts",
                UseUniquePermissions: FALSE
            }
    },

    createSite: Funkcija () {

        jQuery.support.cors = True;

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

            glave: {
                "Sprejeti": "uporaba/json; odata = verbose",
                "content-type": "uporaba/json;odata = verbose",
                "X-RequestDigest": $("#__REQUESTDIGEST").Val()
            },

            podatkov: JSON.stringify(CreateSiteLogicContainer.createSiteData),

            uspeh: Funkcija () { Opozorilo("uspeh"); },
            Napaka: Funkcija () { Opozorilo("napaka"); }

        });
    },

    wireUpForm: Funkcija () {
        $("#CreateSiteButton").kliknite(Funkcija () {
            Opozorilo(»Tem, da poskusite in ustvarjanja mesta.");
            CreateSiteLogicContainer.createSite();
        });
    }


}

CreateSiteLogicContainer.wireUpForm();

</skript>

Ko uspešno, dobiš JSON paket v odgovor takole:

image

Moj ključnih misli in learnings iz tega:

  • Ta pristop uporablja jQuery.  V mojem primeru, moj jQuery knjižnica se nahaja v ".../ plugins. "  Boste želeli spremeniti, da pokažete na vaš najljubši JQ namestitev.
  • Lahko kopirate in prilepite to je celo odlomek v spletni gradnik urejevalnika vsebine na strani ter to should opus šele lep.  Boste želeli, da spremenite končna točka API klic in preverite, ali se sklicujete JQ pravilno.
  • URL je glede na vaš API endpoint.  V mojem primeru, je ustvarjanje podmesta pod https://bigapplesharepoint.com
  • Vi ne potreba skrbeti dolžine vsebine. Nekaj blog delovnih mest in MSDN dokumenta pomeni, da vam, vendar se je zgodilo mi samodejno, ki predvidevam je ravna z $Ajax klica, sama.
  • Ta vrstica mora izogne "prepovedano" odziv: "X-RequestDigest": $("#__REQUESTDIGEST").Val().  So drugi ways uganjati to, ampak to je zelo lepo.  So izgubili povezavo na blog, ki to bližnjico.  H/T vam, skrivnostni blogger!

Vso srečo in upanje to pomoč nekdo ven.

</namen>

undefinedNaročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Premagati siten Problem z relativne naslove URL v SharePoint Quick Launch

Sem želel dodati povezavo hitri zagon navigacije drugi dan in mi je povedal SharePoint:

image

Čist tekst prevod to je:

Zagotoviti, da URL je veljaven in se začne z bodisi veljaven znak (Številski znak (#) ali poševnico (/)) ali veljavno podpira protokol (na primer, "http://’, "https://’, "datoteke://’, "ftp://’, "mailto:’, "novice:’).

"Blech in pox!"Sem rekel.

Rešitev za to je, da uporabite JavaScript najti znanih link v nagel splavitev ter preglasitve njegovega vedenja.

V skušnja to, Dodajte novo povezavo na vašo spletno stran test thusly:

image

Sem rabil jQuery. To rešiti, dobili nekaj JavaScript in jQuery na stran using vaš najljubši tehniko in z linijo kodo, kot to:

 

$(dokument).pripravljena( Funkcija () {

    $("a:vsebuje("Preskusni URL zamenjavo")").kliknite(Funkcija () { Opozorilo("kliknite spremenjeno vedenje!"); vrnitev FALSE;});

});

In Bob je vaš stric.

JQuery Selektor najde vsak <a> oznako, ki je "Test URL zamenjavo" v svojem imenu. Če želite najti-tune, ki odvisno od vaše povezave in tako.

Kliknite na(Funkcija() preglasi karkoli SharePoint bi storila, ko uporabnik kliknil. Izdelovanje varen vi "return false" drugače bo naredil svoje stvari in poskusite href stvar preveč, ki je skoraj gotovo ni vaš cilj.

To je bilo storjeno in test v SharePoint online okolju pa mora delati tudi v 2010 in prej preveč.

</namen>

undefinedNaročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Hitro in preprosto: SharePoint ostalo klic samo vrne 100 Zapisi

Sem delal na javno sooča spletno stran za moje SharePoint prakse tukaj v New York in ga uporablja veliko JavaScript in ostalo klicev prikažete vsebino.

Med razvojem kopno, Ustvariti majhne dataset s samo 10 ali tako vrstice v seznam po meri in moji ostali klici potegnil od tam.  Enkrat sem vrč seznam imeti nekaj sto vrstic podatkov, da test za pričakovano rast, Sem ugotovila, da je že točno 100 vrstic vrne nazaj na moje klice ostalo.

To je zelo preprosta stvar za naslov.  V mojem primeru (in menim, v večini primerov), privzeto ostali klici v SharePoint (in morebiti kot industrijski standard?) vrnitev 100 vrstice.  Vrniti več kot privzeto, uporabite $top parameter na vaš klic, kot v:

PRITI /Insights Dev/_api/web/lists/GetByTitle("MockBlog")/elementi?$Izberite = ID,Naslov,Kategorije/naslov,Blog_x0020_Author/naslov,DatePublished,BlogSummary&$Razširite = Blog_x0020_Author,Kategorije&$filter =&$Top = 9999

Pobral sem 9999 v tem primeru, ker vem da growth-wise, ne bo več kot 200 ali tako vrstice dodati ta seznam v letu.  Če postane Neokretan, lahko izvajamo nekaj ostranjevalne po cesti.

</namen>

undefinedNaročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Hitro in preprosto: Rešiti "neveljaven Parameter URL za” problem z UpdateListItems v lists.asmx

Pri delu z UpdateListItems preko lists.asmx, To je enostavno ustvari napako:

Parameter neveljaven URL.

URL preskrbljen vsebuje neveljaven ukaz ali vrednost. Prosimo preverite naslov spet.

Lahko dobiš to napako, ko ste pozabili vključiti ID v na seznam polj za posodobitev.  To, kot veliko SP spletne storitve, je malo counterintuitive, saj morate vključiti ID v atributu ID v <Metoda> element.  In ne boš posodobiti ID in verjetno nikoli ne želite na prvem mestu.

Te ovojnice SOAP deluje:

<soapenv:Ovojnica xmlns:soapenv =' http://schemas.xmlsoap.org/SOAP/Envelope/ ">
  <soapenv:Telo>                      
    <UpdateListItems xmlns =' http://schemas.Microsoft.com/SharePoint/SOAP/ ">                     
      <listName>{C712E2EA-54E1-47AD-9D99-1848C7773E2F}</listName>                     
        <posodobitve>                     
         <Paketna NaNapaki ="Še">
          <Metoda ID ="1" Cmd ="Posodobitev">
            <Polje ime ="CooperativeLock">zaklenjena!</Polje>
            <Polje ime ="ID">1</Polje>
          </Metoda>
        </Serija>                     
        </posodobitve>                
      </UpdateListItems>             
  </soapenv:Telo>         
</soapenv:Ovojnica>

Če ste strip, sklic polja ID potem boste dobili siten vest "Parameter neveljaven URL".

</namen>

undefinedNaročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin