Archívy kategórie: ZVYŠOK

HTTP 406 Chyba pri použití uhlové $http.get proti SharePoint ZVYŠOK koncové body

Aktualizácia: Marc AD ndersson poukázal na to, tento veľký kus info: http://blogs.Office.com/2014/08/13/JSON-Light-support-Rest-SharePoint-API-Released/. To vysvetľuje veľa :).

To môže byť niekedy najhoršie názov blogu! Anyhoo.

Zvyčajne robiť, všetky moje prototypovania proti O365 stupňa. Mám moje osobné stupňa tak, že nemusím obávať ovplyvňujúce niekto. Ako stranou-Pamätajte si, kedy nazývame vykonáva okolo virtuálnych strojov na našich laptopoch machom-SQL Server, IIS, rozhodovaní vs Hyper-V. VMWare? Anyhoo...

Mali vyvinuté aplikácie pomocou uhlového v tomto prostredí, ktoré má, okrem iného, this:

$http.Get(AdresaURLServera)
.úspech(Funkcia(údaje, stav, hlavičky, config) {

var getLinksResponse = údaje;

getLinksResponse.value.forEach(Funkcia(theResult) {

// a tak ďalej a tak penou

To bolo v poriadku len v dvoch rôznych SharePoint online prostredie. Avšak, keď môj kolega portovaný na inštanciu Cloudshare, on bol stále HTTP 406 chyba (ktorý bol prvýkrát, čo som kedy dostal ten, Takže... hurá, hádam). Som trochu výskumu a všimol si, že "Prijať" Hlavička bol preč. On-line služby SharePoint bol úplne spokojný s:

Prijať: Aplikácia/json

Ale cloudshare stupňa (čo je SP na prem, hostil na virtuálnom serveri) chcel klasické "Odate = ukecaný" pridané v aj:

Prijať: Aplikácia/json;Odata = podrobného

Opraviť to, pridali sme hlavičky ako také:

var config = {hlavičky: {
"Accept": "aplikácie/json;Odata = verbose "
}
};

$http.Get(AdresaURLServera,config)
.úspech(Funkcia(údaje, stav, hlavičky, config) {

var getLinksResponse = údaje;

getLinksResponse.value.forEach(Funkcia(theResult) {

// a tak ďalej a tak penou

Že sa zbavili 406, ale to tiež zmenil formát odpovede. To bolo viac... podrobného. (haha!) Ďalšie zmeny boli požadované, a tu je konečný výsledok:

var config = {hlavičky: {
"Accept": "aplikácie/json;Odata = verbose "
}
};

$http.Get(AdresaURLServera,config)
.úspech(Funkcia(údaje, stav, hlavičky, config) {

var getLinksResponse = údaje;

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

// a tak ďalej a tak penou

Len sa zmenil 30 minúte problém pre nás, tak my lucked von. Dúfajme, že niekto nájde to užitočné.

</koniec>

Ako zadať ľudí ako rozsah hľadania / Zdroj obsahu služby SharePoint 2013 REST API

Ja som nemal dôvod na prácu so službou SharePoint 2013 Rozhranie API vyhľadávania cez ZVYŠOK po prvýkrát. Chcel, aby vyhľadať ľudí, nie dokumentov. Kľúč učenia tu je to, že zadáte obsah zdrojov cez jeho GUID (alebo aspoň v tomto prípade). Nasledujúcich jQuery úryvok ukazuje ako:

    loadExpertsAsync: Funkcia() {

        jQuery.support.cors = pravda;

        $.AJAX({
            adresa URL: this.CreateFullApiUrl() +
                "?querytext = "portály"&sourceid = "b09a7990-05ea-4af9-81ef-edfab16c4e31"" +
                "&selectproperties = "LinkedInProfileUrl,GoogleCirclesProfileUrl,BALargeProfilePictureUrls,BAGridPictures,WorkEmail,Zručnosti,About,Záujmy,Funkcia,PastProjects,PictureURL,PreferredName,TwitterHandle,LinkedInProfileUrl,PreferredName,GoogleCirclesProfileUrl "" +
                "&RowLimit = 99",
            metóda: "ZÍSKAŤ",
            hlavičky: { "Prijať": "Aplikácia/json; Odata = podrobného" },
            Vyrovnávacia pamäť: FALSE,
            úspech: Funkcia (výsledok) {

V mojom prípade, Som beží API proti SharePoint online. Získať identifikátor GUID, Sledoval som tieto kroky:

  1. Prístup k službe SharePoint admin center
  2. Vyberte "Hľadať" z ľavej navigáciu
  3. Vyberte "Spravovať zdroje výsledok"
  4. Vyberte "Miestni ľudia výsledky"
  5. Pozrite sa na URL.

Moja adresa URL hľadal niečo podobné:

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

Sourceid parameter je to, čo pracoval pre mňa.

(Chápem, že Identifikácia zdroja môže byť v skutočnosti druh trvalé vec s SP, but I’ll always check anyway 🙂 ).

</koniec>

undefinedVyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Príklad SharePoint ZVYŠOK hovory

Tu je súbor vzorka ZVYŠOK hovory, že práca pre mňa, a môže vám pomôcť aj. Ako 02/2014, there are two examples 🙂

  1. Odkaz na stĺpec s medzerami v jej mene
  2. Referenčné multi-výber stĺpca
  3. Vyhľadávanie ľudí cez ZVYŠOK

 

Budem pridávať do tohto ako plynie čas.

Tu sú niektoré užitočné farby som našiel aj:

Odkaz na stĺpec s medzerami v jej mene

Vytvoriť vlastný zoznam s stĺpec s názvom "Blog autora" (priestor medzi Blog a autora).

$select odkaz na tento stĺpec je:

image

Jednoducho vymeniť miesto s "_x0020_". Vidíme _x0020_ v mnohých príkladov cez internety a ZVYŠOK nie je iný.

Ak nemáte to, ste povinný chybové hlásenie, ako je tento:

Výraz “Blog autora” nie je platný.

Ľahké.

Referenčné multi-vybrať vyhľadávací stĺpec

Nastaviť:

  1. Vytvorenie vlastného zoznamu s názvom kategórie.
  2. Add some categories Pridať. Pridal som kategórie thusly:image
  3. Vytvoriť ďalší vlastný zoznam s názvom MockBlog a pridávať kategórie ako zoznam s viacerými výbermi stĺpec (alebo stĺpec lokality či je ako hodíte).

Pridať niektoré položky do zoznamu Mockblog a ste pripravení.

Ajax hovor style pomocou jQuery bude vyzerať nasledovne:

AdresaURLServera  = "/_api web, zoznamy/GetByTitle("MockBlog")/položky" +
             "?$Vyberte = názov,Kategórie/titul,Blog_x0020_Author titul" + 
             "&$rozšírenie = Blog_x0020_Author,Kategórie";

Sme ti SharePoint "mi dať názov pre všetky kategórie (Kategórie/titul). Dostať skutočné hodnoty pre Hlava Autor: $RozbaliťZoznam kategórie Ing." (Môj pohodové parafráza je pravdepodobne celkom voľná, ale ako som vyložil ho).

Ak robíte to cez JavaScript a pomocou Fiddler pozrieť na výstupe, dostanete niečo takého na oplátku:

 

image

(Vyššie uvedené je objekt JSON)

Vyhľadávanie ľudí cez ZVYŠOK

I blogged o tomto samostatne. Kľúčom k úspechu je nastaviť parameter identifikáciou zdroja ktorého hodnota identifikátora GUID zdroja obsahu miestnych ľudí. (Zdroje obsahu sa kedysi hovorilo rozsahy a je to moje-oh-my tak ťažké nebude volať všetko rozsah pre mňa!).

Prečítajte si viac o tom tu.: http://www.mstechblogs.com/paul/?p=10385

 

</koniec>

undefinedVyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Rýchle a jednoduché: Vytvoriť lokalitu SharePoint pomocou prenosov REST

Existuje veľa zdrojov v okolí ukazujú, že ako na to, ale nemohol som nájsť komplexné go-na odkaz, tak sme tu.

Môžete vytvoriť lokalitu SharePoint pomocou rozhrania REST API.  Tu je úplne upečené príklad:

<!--
    SiteRequestForm.html: Zhromažďovať informácie a vytvoriť stránky pre používateľa.
-->

<centrum>
<Tabuľka>
    <TR>
        <TD>Názov lokality:</TD>
        <TD><vstup typ= "text" meno= "SiteName" Identifikácia= "SiteName" /></TD>
    </TR>
    <TR>
        <TD ColSpan= "2">
            <vstup typ= "Odoslať" Identifikácia= "CreateSiteButton" hodnota= "Vytvoriť stránky" />
        </TD>
    </TR>
</Tabuľka>
</centrum>

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

<skript>
var CreateSiteLogicContainer = {

    createSiteData: {
            "parametre": {
                __metadata: { "typ": "SP.WebInfoCreationInformation" },
                URL: "Paultest1",
                Hlava: "Paultest1",
                Popis: "zvyšok-vytvoril web Paul!",
                Jazyk: 1033,
                WebTemplate: "sts",
                UseUniquePermissions: FALSE
            }
    },

    createSite: Funkcia () {

        jQuery.support.cors = pravda;

        CreateSiteLogicContainer.createSiteData.parameters.Url = $("#SiteName").Val();
        
        $.AJAX({
            adresa URL: "https://bigapplesharepoint.sharepoint.com/NBAIADev/_api/web/webinfos/add",
            metóda: "PRÍSPEVOK",

            hlavičky: {
                "Prijať": "aplikácie/json; Odata = podrobného",
                "content-type": "aplikácie/json;Odata = podrobného",
                "X-RequestDigest": $("#__REQUESTDIGEST").Val()
            },

            údaje: JSON.stringify(CreateSiteLogicContainer.createSiteData),

            úspech: Funkcia () { Upozornenie("úspech"); },
            chyba: Funkcia () { Upozornenie("chyba"); }

        });
    },

    wireUpForm: Funkcia () {
        $("#CreateSiteButton").kliknite na tlačidlo(Funkcia () {
            Upozornenie("Asi aby sa pokúsila vytvoriť lokalitu.");
            CreateSiteLogicContainer.createSite();
        });
    }


}

CreateSiteLogicContainer.wireUpForm();

</skript>

Keď úspešný, získate balíčka JSON reakciu takého:

image

Moje kľúčové myšlienky a poznatky z tejto zahŕňajú:

  • Tento prístup využíva jQuery.  V mojom prípade, knižnice jQuery sa nachádza v ".../ plugins. "  Budete chcieť zmeniť bod na vaše obľúbené miesto JQ.
  • Môžete skopírovať a vložiť tento celý útržok do webovej časti Editor obsahu na stránku a to by malo fungovať v pohode.  Budete chcieť zmeniť koncový bod API volania a overte, či odkazujete JQ správne.
  • URL je vzhľadom na svoje API koncový bod.  V mojom prípade, to je vytvoriť sub-stránky pod https://bigapplesharepoint.com
  • Nemusíte sa poskytnúť obsah-dĺžka. Niektoré príspevky blogu a MSDN dokument predpokladá, že si, ale stalo mi automaticky, čo predpokladám je spracovávaná na samotnú výzvu .ajax $.
  • Tento riadok je potrebné vyhnúť sa "zakázané" odpoveď: "X-RequestDigest": $("#__REQUESTDIGEST").Val().  Existujú iné spôsoby, ako to urobiť, ale to je celkom pekné.  Stratil som odkaz na blog, ktorý poskytuje túto skratku.  H/T na vás, tajomný blogger!

Veľa šťastia a dúfam, že to pomôže niekto.

</koniec>

undefinedVyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Rýchle a jednoduché: SharePoint ZVYŠOK volať len vracia 100 Záznamy

Bol som pracoval na verejných čelia webové stránky pre môj SharePoint ambulancií tu New York a to používa veľa hovorov JavaScript a ZVYŠOK Zobraziť obsah.

Počas hlavnej rozvojovej, Vytvoriť malé dataset s len 10 alebo tak riadky vlastného zoznamu a my ZVYŠOK vyzýva všetky vytiahol odtiaľ.  Raz som narazil do zoznamu majú niekoľko sto riadkov údajov na test na očakávaný rast, Zistil som, že som dostala presne 100 riadkov vrátených späť na môj odpočinok hovory.

To je veľmi jednoduchá vec riešiť.  V mojom prípade (a verím, že vo väčšine prípadov), predvolené ZVYŠOK vyzýva na lokalitu SharePoint (a možno aj ako priemyselný štandard?) return 100 riadky.  Vrátiť viac ako predvolené, Použite $top parameter na vašu výzvu, rovnako ako v:

Získajte /Insights Dev/_api/web/lists/GetByTitle("MockBlog")/položky?$vyberte = ID,Hlava,Kategórie/titul,Blog_x0020_Author titul,DatePublished,BlogSummary&$rozšírenie = Blog_x0020_Author,Kategórie&$Filter =&$hore = 9999

Som si vybral 9999 v tomto prípade odvtedy viem, že growth-wise, tam nebude viac ako 200 alebo tak riadky pridané do tohto zoznamu v roku.  Ak sa stane nemotorný, môžeme realizovať niektoré stránkovanie na ceste.

</koniec>

undefinedVyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin