카테고리 아카이브: 나머지

HTTP 406 SharePoint 나머지 엔드 포인트에 대 한 각도 $http.get을 사용 하 여 오류

업데이트: 정보의 훌륭한 조각이 지적 마크 광고 ndersson: http://blogs.office.com/2014/08/13/json-light-support-rest-sharepoint-api-released/. 그 많은 것을 설명합니다 :).

블로그 게시물의 가장 나쁜 제목도 있을 수 있습니다.! 어쨋든.

일반적으로 모든 O365 인스턴스에 대해 내 프로토타이핑을. 나는 내 개인 인스턴스를 다른 사람에 영향을 걱정 하지 않아도. 여담-기억 때 우리 전화 모스-와 우리의 노트북에 가상 컴퓨터 주위 실행 SQL Server, IIS, 하이퍼-V 대 결정. Vm 웨어? 어쨋든...

가이 환경에서 각을 사용 하 여 응용 프로그램을 개발 했다, 다른 것 들 중, 이:

$http.get(serverUrl)
.성공(함수(데이터, 상태, 헤더, 구성) {

var getLinksResponse = 데이터;

getLinksResponse.value.forEach(함수(theResult) {

// 에 고 그래서 거품

이 두 개의 서로 다른 SharePoint 온라인 환경에서 잘 작동 했다. 그러나, 언제 내 동료 Cloudshare 인스턴스를 포팅, 가 지 고 있는 HTTP 406 오류 (처음으로 내가 하나를가지고 했다, 그래서... 야 호, 추측하건데). 우리 연구의 조금 않았고 "수락" 헤더에서은. SharePoint 온라인 완벽 하 게 행복 했다:

수락: 응용 프로그램/json

Cloudshare 인스턴스 하지만 (프 렘에 SP입니다, 가상 서버에서 호스팅) 클래식을 싶 었 어 요 "odata verbose =" 뿐만 아니라에 추가:

수락: 응용 프로그램/json;odata 자세한 정보 표시 =

수정, 우리는 같은 헤더를 추가:

var 구성 = {헤더: {
' 수락 ': ' 응용 프로그램/json;odata verbose ='
}
};

$http.get(serverUrl,구성)
.성공(함수(데이터, 상태, 헤더, 구성) {

var getLinksResponse = 데이터;

getLinksResponse.value.forEach(함수(theResult) {

// 에 고 그래서 거품

그의 제거를 406, 하지만 그것은 또한 응답의 형식 변경. 그것은 더... 자세한. (하 하!) 더 많은 변화가 필요 했다 그리고 여기에 최종 결과:

var 구성 = {헤더: {
' 수락 ': ' 응용 프로그램/json;odata verbose ='
}
};

$http.get(serverUrl,구성)
.성공(함수(데이터, 상태, 헤더, 구성) {

var getLinksResponse = 데이터;

getLinksResponse.d.results.forEach(함수(theResult) {

// 에 고 그래서 거품

이 뀌는 30 우리를 위해 분 문제, 그래서 우리가 운이. 바라 건 대 누군가가 발견이 유용한.

</끝>

사람 검색 범위를 지정 하는 방법 / SharePoint를 사용 하 여 콘텐츠 원본 2013 나머지 API

SharePoint를 사용 하는 이유를 했다 2013 처음으로 나머지를 통해 검색 API. 나는 사람들에 대 한 검색 하 고 싶 었, 없는 문서. 여기서 학습 키의 GUID 통해 콘텐츠 원본 지정 (또는 경우 적어도). 다음과 같은 jQuery 코드 표시 방법:

    loadExpertsAsync: 함수() {

        jQuery.support.cors = true;

        $.아 약 스({
            url: .CreateFullApiUrl() +
                "?querytext = '포털'&sourceid ='b09a7990-05ea-4af9-81ef-edfab16c4e31'" +
                "&selectproperties ='LinkedInProfileUrl,GoogleCirclesProfileUrl,BALargeProfilePictureUrls,BAGridPictures,WorkEmail,기술,AboutMe,관심 분야,JobTitle,PastProjects,PictureURL,PreferredName,TwitterHandle,LinkedInProfileUrl,PreferredName,GoogleCirclesProfileUrl'" +
                "&rowlimit = 99",
            메서드: "가져오기",
            헤더: { "수락": "응용 프로그램/json; odata 자세한 정보 표시 =" },
            캐시: false,
            성공: 함수 (결과) {

내 경우에는, 온라인 SharePoint에 대 한 API를 실행 해요. GUID를 얻으려면, 이러한 단계를 따라:

  1. SharePoint 관리 센터에 액세스
  2. 왼쪽 탐색에서 "검색"을 선택
  3. "결과 소스 관리"를 선택 하십시오
  4. "현지 사람들 결과"를 선택
  5. URL에 보고.

내 URL 같은 것을 보았다:

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

Sourceid 매개 변수는 어떤 날 위해 일했던.

(sourceid 실제로 SP와 영구적인 것의 종류를 수 있습니다 이해, 하지만 난 항상 어쨌든 확인해 보겠습니다 🙂 ).

</끝>

undefined내 블로그를 구독.

에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin

예를 들어 SharePoint 나머지 호출

다음은 나를 위해 작동 하 고 또한 당신을 도울 수 있습니다 샘플 나머지 통화의 집합이입니다.. 로 서의 02/2014, 두 가지 예들이있다 🙂

  1. 이름에 공백 열 참조
  2. 다중 선택 열을 참조
  3. 나머지를 통해 사람들이 검색을 수행

 

이것을 추가할 것입니다 시간이 지남에 따라.

여기는 몇 가지 유용한 잉크 뿐만 발견 했습니다.:

이름에 공백 열 참조

"블로그 작성자" 라는 열이 있는 사용자 지정 목록을 만들합니다 (블로그와 저자 사이 공간).

해당 열을 참조 하는 $select이입니다.:

image

단순히 "_x0020_" 공간을 바꿉니다. 우리는 인터넷에 걸쳐 많은 예에서 _x0020_ 참조 및 나머지는 전혀 다른.

그렇게 하지 않으면, 당신은이 같은 오류 메시지가 책임:

식 “블로그 작성자” 유효 하지 않은.

충분히 쉬운.

참고 다중 선택 조회 열

설정:

  1. 카테고리 라는 사용자 지정 목록 만들기.
  2. 일부 카테고리 추가. Thusly 카테고리를 추가:image
  3. MockBlog 라는 또 다른 사용자 지정 목록을 만들고 다중 선택 목록 열으로 카테고리를 추가 (사이트 열 경우는 어떻게 롤 또는).

Mockblog 목록에 어떤 항목을 추가 하 고 당신은 준비.

JQuery를 사용 하 여 Ajax 스타일 호출 이것 같은 것을 볼 것 이다:

serverUrl   = "/_api/웹/목록/GetByTitle(' MockBlog')/항목" +
             "?$선택 제목 =,카테고리/제목,Blog_x0020_Author/제목" + 
             "&$확장 Blog_x0020_Author =,카테고리";

우리는 "제목을 나는 모든 범주에 대 한 SharePoint를 말하는 거 야 (카테고리/제목). 에 대 한 실제 값을 얻을 제목 에 의해 $확장ing 범주 목록입니다. " (아마 꽤 느슨한은 내 평안한 지나친의 역, 하지만이 방법에서 그것을 해석 해요).

자바 스크립트와 피 들러를 사용 하 여 출력에서 보고를 통해이 수행 하는 경우, 답례로 이것 같은 것을 얻을합니다:

 

image

(위는 JSON 개체입니다.)

나머지를 통해 사람들이 검색을 수행

내가 이것에 대해 블로그에 별도로. 키는 sourceid 매개 변수 값은 로컬 사람들 콘텐츠 원본의 GUID를 지정 하는 것입니다.. (콘텐츠 원본 범위 호출 하는 데 사용 되며 모든 것에 전화 나를 위해 범위 내-오-내 열심히 하지!).

여기 그것에 대해 자세히 보기: http://www.mstechblogs.com/paul/?p=10385

 

</끝>

undefined내 블로그를 구독.

에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin

신속 하 고 쉽게: 나머지를 사용 하 여 SharePoint 사이트를 만들

이 작업을 수행 하는 방법을 보여 주위 자원의 많은 있다, 하지만 포괄적인 이동 하려면 링크를 찾을 수 없습니다., 그래서 여기에 우리가 있습니다..

나머지 API를 사용 하 여 SharePoint 사이트를 만들 수 있습니다.  여기에 완벽 하 게 구운된 예제가입니다.:

<!--
    SiteRequestForm.html: 정보를 수집 하 고 사용자에 대 한 사이트를 만들.
-->

<센터>
<테이블>
    <tr>
        <td>사이트 이름:</td>
        <td><입력 유형= "텍스트" 이름"사이트 이름 =" id"사이트 이름 =" /></td>
    </tr>
    <tr>
        <td colspan= "2">
            <입력 유형= "제출" id"CreateSiteButton =" "만들기 사이트 =" />
        </td>
    </tr>
</테이블>
</센터>

<스크립트 src="../Plugins/jquery-1.11.0.min.js"></스크립트>

<스크립트>
var CreateSiteLogicContainer = {

    createSiteData: {
            "매개 변수": {
                __metadata: { "유형": "특검팀WebInfoCreationInformation" },
                Url: "Paultest1",
                제목: "Paultest1",
                설명: "나머지 만든 웹 폴!",
                언어: 1033,
                WebTemplate: "sts",
                UseUniquePermissions: false
            }
    },

    createSite: 함수 () {

        jQuery.support.cors = true;

        CreateSiteLogicContainer.createSiteData.parameters.Url = $("#SiteName").발();
        
        $.아 약 스({
            url: "https://bigapplesharepoint.sharepoint.com/NBAIADev/_api/web/webinfos/add",
            메서드: "게시물",

            헤더: {
                "동의": "응용 프로그램/json; odata 자세한 정보 표시 =",
                "콘텐츠 유형": "응용 프로그램/json;odata 자세한 정보 표시 =",
                "X-RequestDigest": $("# __REQUESTDIGEST").발()
            },

            데이터: JSON.stringify(CreateSiteLogicContainer.createSiteData),

            성공: 함수 () { 경고("성공"); },
            오류: 함수 () { 경고("오류"); }

        });
    },

    wireUpForm: 함수 () {
        $("#CreateSiteButton").클릭 하십시오.(함수 () {
            경고("에 대 한 시도 하 고 만들 사이트.");
            CreateSiteLogicContainer.createSite();
        });
    }


}

CreateSiteLogicContainer.wireUpForm();

</스크립트>

성공 하면, 이 같은 응답에서 JSON 패킷을 얻을:

image

내 주요 생각과이 포함에서 learnings:

  • 이 방법은 사용 하는 jQuery.  내 경우에는, jQuery 라이브러리 내에 있는 ".../ 플러그인. "  당신의 마음에 드는 JQ 위치를 가리키도록 변경 하 고 싶을 것 이다.
  • 복사 하 고 페이지에 콘텐츠 편집기 웹 파트에 붙여 그 전체 조각 수와 잘 작동 합니다.  API 호출의 변화와 JQ를 올바르게 참조 하는 것을 확인 해야.
  • URL은 API의 끝점에 상대적입니다.  내 경우에는, 그것은 밑에 하위 사이트를 만드는 https://bigapplesharepoint.com
  • 콘텐츠 길이 제공 하기 위해 필요 하지 않습니다.. 일부 블로그 게시물 및 MSDN 문서 의미 당신이 할, 하지만 나를 위해 일 하는 자동으로, 나는 $.ajax 통화 자체에 의해 처리 되 고.
  • 이 라인 "금지한" 응답을 방지 하는 데 필요한: "X-RequestDigest": $("# __REQUESTDIGEST").발().  다른 방법이 그것을 할 수 있다, 하지만 이것은 매우 좋다.  이 바로 가기이 키를 제공 하는 블로그에 링크를 분실 했습니다.  H/T 당신에 게, 신비한 블로거!

행운을 빌어요 그리고이 밖으로 사람을 도움이 되기를 바랍니다..

</끝>

undefined내 블로그를 구독.

에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin

신속 하 고 간단: SharePoint 나머지 전화만 반환 100 레코드

여기에서 내 SharePoint 연습에 대 한 공공 직면 하 고 웹 사이트에서 작업 했습니다. 뉴욕 자바 스크립트와 나머지 호출을 많이 사용 하 여 콘텐츠 표시.

Mainline 개발 중, 그냥 함께 작은 데이터 집합을 만들려면 10 또는 그렇게 행에 사용자 지정 목록이 나 나머지 통화 모든 거기에서 가져온.  일단 내가 승진 예상된 성장에 대 한 테스트 데이터의 몇 백 행 목록, 정확 하 게 참이 었 어 발견 100 내 나머지 전화에 다시 반환 하는 행.

이것은 매우 간단한 일이 주소로입니다.  내 경우에는 (대부분의 경우에 믿고), 기본 SharePoint 나머지 호출 (업계 표준으로 가능 하 게 하 고?) 반환 100 행입니다.  기본 보다는 더 많은 수익을, $top 매개 변수를 사용 하 여 귀하의 전화에, 마찬가지로:

/Insights Dev/_api/web/lists/GetByTitle를 얻을(' MockBlog')/항목?$선택 = ID,제목,카테고리/제목,Blog_x0020_Author/제목,DatePublished,BlogSummary&$확장 Blog_x0020_Author =,카테고리&$필터 =&$위쪽 = 9999

내가 골 랐 어 요 9999 이 경우 이후 내가 아는 growth-wise, 되지 않습니다 이상 200 또는 그렇게 행 1 년에이 목록에 추가 합니다.  꼴 사나운 되는 경우, 도 아래로 몇 가지 페이징 구현할 수 있습니다..

</끝>

undefined내 블로그를 구독.

에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin