카테고리 아카이브: SharePoint 웹 서비스

사람 검색 범위를 지정 하는 방법 / 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

Lists.asmx, GetListItems 및 폴더

Sharepoint의 일환으로 제공 하는 list.asmx 웹 서비스 오늘 주위 사람에 대 한 몇 가지 연구 있었는데 2010 (이전 버전).  그녀는 루트 폴더에서 목록 항목을 얻을 수 있었습니다. (하위 폴더의 이름을 포함 하 여), 하지만 하위 폴더에서 항목을 가져올 수 없습니다.  일부 internets에 구경을 했 고 그것은 놀라울 정도로 공통 질문 이다.  아직, 간단한 질문에 좋은 답변을 얻을 수 없습니다., 폴더를 알고 있는 경우 ", 폴더에 항목을 얻을 하는 방법?”  솔직히 말해서, 이후 한 동안 내 자신에 밖으로이 하나 내려고 싶었던 난을 모두 열심히 시도 하지 않았다 미소.

이것을 설정 하려면, "블로깅 시나리오" 라고 하는 사이트 및 "사용자 지정 목록 함께 Sub Folders" 라는 사용자 지정 목록을 만들었습니다.  그런 다음 폴더를 생성:

  • 올해 2005
  • 올해 2006
  • 올해 2007

"2006 년" 폴더에 몇 가지 항목을 추가 합니다.  이것은 그것 처럼 보이는:

image

내 친구는 C# 코드 작성 아니지만 오히려 자바를 사용 하 여, 그래서 SOAP 봉투 그녀가 정말로 필요 했다.  그, Jquery의 비트를 작성 하 고 fiddler를 사용 하는 실제 HTTP 대화.

여기 관련 jQuery입니다. (복사 코드 아래로 아래 복사/붙여넣기를 하는 경우):

image

그들은 둘 다 포함 하는 첫 번째 키를 <queryOptions> 그리고 <QueryOptions> 노드입니다.  두 번째 키는 그는 <폴더> 노드는 클라이언트는 액세스할 수 있는 URL.

이 다른 방법이 있을 수 있습니다., 하지만이 나를 위해 잘 일했다 Jquery를 사용 하는 경우.

여기는 위의 대 한 SOAP 봉투:

<soapenv:봉투 xmlns:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’>                
  <soapenv:바디>
    <GetListItems xmlns =’
http://schemas.microsoft.com/sharepoint/soap/’>
      <listName>하위 폴더를 사용 하 여 사용자 지정 목록</listName>
      <viewFields>  
        <ViewFields>
          <FieldRef 이름 =' 제목’ />
          <FieldRef 이름 ='EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <폴더>
http://demoserver1/블로그 사용자 정의 시나리오/목록/목록 하위 폴더/Year 2006</폴더>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:바디>
</soapenv:봉투>

예제와 주변이 토론을 많이 모든 필요는 믿고 나를 이끌고 <QueryOptions> 폴더 이름을 지정 하 고 있습니다.  나를 위해, 내가 필요 모두 래핑 내부 <queryOptions> 뿐만 아니라에 대 한 정규화 된 URL을 지정 합니다 <폴더> 노드.

여기 jQuery AJAX 설정이입니다.:

$(문서).준비(함수() {
       var soapEnv =
           "<soapenv:봉투 xmlns:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’> \
               <soapenv:바디> \
                    <GetListItems xmlns =’http://schemas.microsoft.com/sharepoint/soap/’> \
                       <listName>하위 폴더를 사용 하 여 사용자 지정 목록</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef 이름 =' 제목’ /> \
                              <FieldRef 이름 ='EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <폴더>http://demoserver1/Blogging 사용자 정의 시나리오/목록/목록 하위 폴더/Year 2006</폴더> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:바디> \
           </soapenv:봉투>";

</끝>

내 블로그를 구독.

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

Lists.asmx, GetList 및 "값 null 일 수 없습니다”

오늘 발견 하 여 GetList() 메서드 lists.asmx 웹 서비스를 매우 신중 하 게 호출할 수 있다 또는 신비 "값 null 일 수 없습니다" 예외를 throw 하는 경향이 (그 과거의 더 일반적인 오류 메시지가 얻을 수 있는 가정은, "유형의 예외 ' Microsoft.SharePoint.SoapServer.SoapServerException’ throw 되었습니다. ")  특히, GetList 메서드에 접두사의 어떤 종류를 제공할 수 없습니다 발견.  다음 jQuery 코드 포인트를 보여 줍니다.:

image

당신이 그렇게 하는 경우, 웹 서비스 응답 "값 null 일 수 없습니다"이 당 피 들러-HTTP 사본 제공:

<?xml 형식 버전 = "1.0" 인코딩 = "은 utf-8"?>
  <비누:봉투
     xmlns:soap ="
http://schemas.xmlsoap.org/soap/envelope/"    
     xmlns:xsi = "
http://www.w3.org/2001/XMLSchema-instance
     xmlns:xsd ="
http://www.w3.org/2001/XMLSchema">

  <비누:바디>
    <비누:오류>
      <사용 하 여 faultcode>비누:서버</사용 하 여 faultcode>
      <faultstring>
        유형의 예외 ' Microsoft.SharePoint.SoapServer.SoapServerException’ 튕겨 져.
      </faultstring>
      <세부 정보>
        <errorstring xmlns ="
http://schemas.microsoft.com/sharepoint/soap/">
값이 null 일 수 없습니다..
        </errorstring>
      </세부 정보>
    </비누:오류>
  </비누:바디>
</비누:봉투>

물론, 아마 고객님 "s0" 접두사를 추가 하지 않을 것, 하지만 일부 도구는 그것을 할 경향이 있습니다. (이클립스와 같은).

이것은 모두 더 혼란 / 다른 방법의 참을 접두사 때문에 실망.  예를 들어, 는 GetListCollection 방법 경우 접두사가 되었습니다은 마음을 하지 않습니다., "xyzzy"와 같은 넌센스 접두사와도:

image

이 lists.asmx 그래서 희망을이 누군가가 도움이 됩니다 밖으로 미래에 상당히 일반적인 것으로 보인다 "값 null 일 수 없습니다".

</끝>

내 블로그를 구독.

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