Kategorija Arhīvs: PĀRĒJIE

HTTP 406 Kļūda, lietojot leņķa $http.get pret SharePoint atpūtas beigu punktiem

Atjauninājums: Marc AD ndersson norādīja uz šo lielisko info gabals: http://Blogs.Office.com/2014/08/13/JSON-Light-Support-Rest-SharePoint-API-Released/. Tas izskaidro daudz :).

Tas var būt sliktākais nosaukums blog post jebkad! Anyhoo.

Es parasti darīt visu manu prototipu pret O365 instances. Man ir mana personīgā gadījumu tāpēc, ka man nav jāuztraucas par to ietekmē kāds cits. Kā malā – atcerieties, kad mēs saucam veic ap virtuālās mašīnas mūsu klēpjdatorus ar SŪNĀM-SQL Server, IIS, izlemt, Hyper-V vs. VMWare? Anyhoo...

Bija izveidojies app izmantojot leņķisko šajā vidē, kas, cita starpā, tas:

$http.Get(serverUrl)
.panākumi(funkcija(datu, statuss, galvenes, Config) {

var getLinksResponse = dati;

getLinksResponse.value.forEach(funkcija(theResult) {

// un tā tālāk, un tā putas

Tas strādā tikai naudas sodu divus dažādus SharePoint tiešsaistes vidē. Tomēr, kad mans kolēģis pārnesuši Cloudshare instances, viņš kļūst HTTP 406 kļūda (kas bija pirmā reize, kad es kādreiz ieguva, ka viens, Tātad... yay, man šķiet). Mums bija pētniecības mazliet un pamanīja, ka "Akceptēt" header ir izslēgts. SharePoint tiešsaistē bija pilnīgi apmierināts ar:

Akceptēt: pieteikums/json

Bet cloudshare instances (kas atrodas prem SP, hosted virtuālā servera) gribēja klasisko "odata = runīgs" papildina arī:

Akceptēt: pieteikums/json;oData = runīgs

Noteikt, ka, mēs pievienojām header kā tādu:

var config = {galvenes: {
"Pieņemt": "lietojumprogrammu/json;oData = runīgs "
}
};

$http.Get(serverUrl,Config)
.panākumi(funkcija(datu, statuss, galvenes, Config) {

var getLinksResponse = dati;

getLinksResponse.value.forEach(funkcija(theResult) {

// un tā tālāk, un tā putas

Ka ticis vaļā no 406, bet to arī mainīt atbildes formāts. Tas bija vairāk … runīgs. (haha!) Nebija vajadzīgas vairākas izmaiņas, un šeit ir gala rezultāts:

var config = {galvenes: {
"Pieņemt": "lietojumprogrammu/json;oData = runīgs "
}
};

$http.Get(serverUrl,Config)
.panākumi(funkcija(datu, statuss, galvenes, Config) {

var getLinksResponse = dati;

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

// un tā tālāk, un tā putas

Tas tikai pārvērtās 30 minūte problēma ne tikai mums, tāpēc mēs tiksim cauri sveikā. Cerams, ka kāds atrod šo noderīga.

</beigās>

Kā norādīt cilvēkus kā meklēšanas tvērumu / Satura avotu, kas izmanto SharePoint 2013 PĀRĒJIE API

Man nebija iemesla strādāt ar SharePoint 2013 Meklēšanas API caur atpūtu, pirmo reizi. Gribēja, lai meklētu cilvēkus, nav dokumentu. Mācīšanās, šeit ir tas, ka galvenais norādīt satura avotus, izmantojot tās GUID (vai vismaz šajā gadījumā). Šādas jQuery fragments parāda cik:

    loadExpertsAsync: funkcija() {

        jQuery.support.cors = patiess;

        $.Ajax({
            URL: tas.CreateFullApiUrl() +
                "?querytext = "portāls"&sourceID = = 'b09a7990-05ea-4af9-81ef-edfab16c4e31'" +
                "&selectproperties ='LinkedInProfileUrl,GoogleCirclesProfileUrl,BALargeProfilePictureUrls,BAGridPictures,WorkEmail,Prasmes,AboutMe,Intereses,JobTitle,PastProjects,PictureURL,PreferredName,TwitterHandle,LinkedInProfileUrl,PreferredName,GoogleCirclesProfileUrl'" +
                "&rowlimit = 99",
            metode: "IEGŪT",
            galvenes: { "Akceptēt": "pieteikums/json; oData = runīgs" },
            kešatmiņa: viltus,
            panākumi: funkcija (rezultāts) {

Manā gadījumā, Esmu darbojas API pret SharePoint online. Lai iegūtu GUID, Pēc šo soļu veikšanas:

  1. Piekļūt SharePoint administrēšanas centru
  2. Izvēlieties "meklēt", no kreisās puses navigācijas
  3. Izvēlieties "Manage rezultātu avotus"
  4. Izvēlieties "Vietējie rezultāti"
  5. Paskaties uz URL.

Mans URL izskatās kaut kas līdzīgs:

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

SourceID = parametrs ir tas, kas strādāja par mani.

(Es saprotu, ka sourceID = faktiski var būt sava veida pastāvīga lieta ar SP, but I’ll always check anyway 🙂 ).

</beigās>

undefinedAbonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin

Piemērs SharePoint pārējiem zvaniem

Šeit ir noteikts paraugs pārējiem zvaniem, kurus darbs mani un var jums palīdzēt kā arī. Kā no 02/2014, there are two examples 🙂

  1. Norādītu kolonnu ar tās nosaukumā atstarpes
  2. Multi-izvēlēties kolonnas atsauce
  3. Veikt cilvēku meklēšanas caur atpūtu

 

Es pievienošu tā kā laiks iet.

Šeit ir daži noderīgi tintes, esam noskaidrojuši, kā arī:

Norādītu kolonnu ar tās nosaukumā atstarpes

Pielāgota saraksta izveide ar kolonna ar nosaukumu "Bloga autors" (atstarpe starp blogu un autoru).

$select atsauces šai kolonnai ir:

image

Vienkārši nomainiet atstarpi ar "_x0020_". Mēs redzam daudz piemēru _x0020_ pāri internets un pārējais ir ne ar ko neatšķiras.

Ja jums nav ko darīt, jūs esat atbildīgs, tiks parādīts kļūdas ziņojums, kas līdzīgs šim:

Izteiksme “Bloga autors” nav derīgs.

Nieks.

Multi-izvēlēties uzmeklēšanas kolonnas atsauce

Iestatīt:

  1. Izveidojiet pielāgotu sarakstu ar nosaukumu kategorijām.
  2. Pievienot dažas kategorijas. I pievienotās kategorijas thusly:image
  3. Izveidot citu pielāgotu sarakstu, ko sauc par MockBlog un pievienot kategorijas kā multi-izvēlēties sarakstā kolonnu (vai vietnes kolonnu, ja tā ir, kā jūs roll).

Dažus vienumus pievienot sarakstam Mockblog un jūs esat gatavs.

Ajax stila zvanu, izmantojot jQuery izskatīsies apmēram šādi:

serverUrl   = "/_api/web/saraksti/GetByTitle('MockBlog')/krājumi" +
             "?$izvēlieties = Title,Kategorijas/nosaukums,Blog_x0020_Author/nosaukums" + 
             "&$izvērsiet = Blog_x0020_Author,Kategorijas";

Mēs esam spēcīgi SharePoint "Dodiet man nosaukums visu kategoriju (Kategorijas/nosaukums). Faktiskās vērtības, lai saņemtu Nosaukums ar $izvērsieting kategoriju sarakstā." (Mani mierīgs pārfrazējot ir iespējams diezgan plats, bet tā kā es esmu interpretējot).

Ja tu to dari, izmantojot JavaScript un iepazīties ar produkciju, izmantojot Fiddler, jums kaut kas līdzīgs šim pretī:

 

image

(Iepriekš ir JSON objekts)

Veikt cilvēku meklēšanas caur atpūtu

Es blogged par to atsevišķi. Galvenais ir, lai norādītu sourceID = parametrs, kuru vērtība ir vietējiem iedzīvotājiem satura avota GUID. (Satura avotos mēdza saukt par tvērumu, un tas ir mans-oh-mans tik grūti nav aicināt visu jomu man!).

Lasīt vairāk par to šeit: http://www.mstechblogs.com/paul/?p=10385

 

</beigās>

undefinedAbonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin

Ātri un viegli: Izveidojiet SharePoint vietnes, izmantojot pārējo

Ir daudz resursus visā, kas parāda, kā to izdarīt, bet nevarēju atrast visaptverošu iet uz saiti, tāpēc šeit mēs esam.

Var izveidot SharePoint vietnē, izmantojot pārējo API.  Šeit ir pilnīgi cep piemērs:

<!--
    SiteRequestForm.html: Apkopot informāciju un veidot vietnes lietotājam.
-->

<centrs>
<tabula>
    <TR>
        <TD>Vietnes nosaukums:</TD>
        <TD><ievades tips= "text" vārds= "SiteName" ID= "SiteName" /></TD>
    </TR>
    <TR>
        <TD colspan= "% 2">
            <ievades tips= "iesniegt" ID= "CreateSiteButton" vērtība= "Izveidot vietnes" />
        </TD>
    </TR>
</tabula>
</centrs>

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

<skriptu>
var CreateSiteLogicContainer = {

    createSiteData: {
            "parametri": {
                __metadata: { "tips": "SP.WebInfoCreationInformation" },
                URL: "Paultest1",
                Nosaukums: "Paultest1",
                Apraksts: "izveidots atpūtas web, Paul!",
                Valodas: 1033,
                Web veidni: "sts",
                UseUniquePermissions: viltus
            }
    },

    createSite: funkcija () {

        jQuery.support.cors = patiess;

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

            galvenes: {
                "Akceptēt": "lietojumprogrammu/json; oData = runīgs",
                content-type": "lietojumprogrammu/json;oData = runīgs",
                "X-RequestDigest": $("#__REQUESTDIGEST").Val()
            },

            datu: JSON.stringify(CreateSiteLogicContainer.createSiteData),

            panākumi: funkcija () { brīdinājums("veiksme"); },
            kļūda: funkcija () { brīdinājums("kļūda"); }

        });
    },

    wireUpForm: funkcija () {
        $("#CreateSiteButton").noklikšķiniet uz(funkcija () {
            brīdinājums("Apmēram, lai mēģinātu izveidot vietni.");
            CreateSiteLogicContainer.createSite();
        });
    }


}

CreateSiteLogicContainer.wireUpForm();

</skriptu>

Kad veiksmīga, jūs saņemsiet paciņu JSON atbildi, kā šis:

image

Manas galvenās domas un mācība no šī iekļaut:

  • Šo pieeju izmanto jQuery.  Manā gadījumā, mana jQuery bibliotēka atrodas ".../ plug-in. "  Jūs vēlaties mainīt, norādiet uz jūsu mīļākie Alekseev atrašanās vietu.
  • Var kopēt un ielīmēt, ka viss fragments satura redaktora Web daļu lapas, un tai vajadzētu strādāt tikai naudas sodu.  Jūs vēlaties mainīt API zvanu beigu punktam un pārliecinieties, ka jūs uzmeklēt Alekseev pareizi.
  • URL ir attiecībā pret jūsu API galapunktu.  Manā gadījumā, tā ir izveidot apakšvietnes zem https://bigapplesharepoint.com
  • Jums nav nepieciešams sniegt satura garums. Dažus blog posts un MSDN dokumenta nozīmē, ka jums, bet notika man automātiski, kuru es pieņemu, veic pati $.ajax zvanu.
  • Šīs rindas ir vajadzīga, lai nerastos "aizliegtā" atbildi: "X-RequestDigest": $("#__REQUESTDIGEST").Val().  Ir arī citi veidi, kā to izdarīt, bet tas ir diezgan jauki.  Ir zaudējuši saites, blog, kas nodrošināja šo saīsni.  H/T pie jums, noslēpumainā blogger!

Good luck, un ceru, ka tas palīdz kāds.

</beigās>

undefinedAbonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin

Ātrs un vienkāršs: SharePoint atpūtas zvanīt tikai atgriež 100 Ieraksti

Esmu strādājusi valsts saskaras ar tīmekļa vietnē mana SharePoint praksē šeit New York un to izmanto daudz JavaScript un pārējie zvani Rādīt saturu.

Maģistrālēm izstrādes laikā, Vienkārši izveidot mazu kopu ar 10 vai tik rindas ar pielāgotu sarakstu un mans pārējie zvani izvilka no turienes.  Reiz es bumped līdz sarakstā ir daži simti rindas datu, lai pārbaudītu sagaidāmo pieaugumu, Es atklāju, ka man bija panākt, lai tieši 100 rindās atgriezās atpakaļ uz manu pārējie zvani.

Tas ir ļoti vienkārša lieta, lai adresi.  Manā gadījumā (un es uzskatu, vairumā gadījumu), noklusējuma pārējie zvani uz SharePoint (un iespējams, nozares standartu?) atgriešanās 100 rindas.  Atgriezties vairāk nekā noklusējuma, izmantojiet parametru $top zvanam, kā:

IEGŪT /Insights Dev/_api/web/lists/GetByTitle('MockBlog')/krājumi?$Atlasiet = ID,Nosaukums,Kategorijas/nosaukums,Blog_x0020_Author/nosaukums,DatePublished,BlogSummary&$izvērsiet = Blog_x0020_Author,Kategorijas&$filtrs =&$top = 9999

Es paņēmu 9999 Šajā gadījumā, jo es zinu, ka growth-wise, tur nebūs vairāk nekā 200 vai tik gadā rindas pievienot šim sarakstam.  Ja tas kļūst nepievilcīgs, mēs varētu ieviest dažas lapošanas pa ceļu.

</beigās>

undefinedAbonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin