2016-09-28 2 views
1

로컬 디렉터리에서 SharePoint의 문서 라이브러리로 파일 (PDF)을 업로드하려고합니다. 나는 폴더를 변경하여 폴더를 감시하고 PDF 스트림을 파이프하는 작업을 실행하는 시스템을 구축했습니다. gulp-spsaveglup spsave를 사용하여 REST API를 통해 SharePoint에 파일 업로드

gulp-spsave는 꽤 복잡한 SharePoint REST 인터페이스 인 것처럼 추상화되어 있기 때문에 좋습니다. 내 자격 증명, URL 및 업로드 폴더를 제공 할 수 있으며 나머지는 수행합니다.

그러나 저는 404를 계속 사용하고 있습니다. SharePoint에 익숙하지 않고 URL 구조를 이해하지 못하기 때문에 플러그인에 올바른 정보를 제공하지 못하고 있다고 생각합니다.

은 (DST라는) 문서 라이브러리에 대한 URL입니다 :

https://{subdomain}.{customdomain}.com/depts/indirectsales/DST/Forms/AllItems.aspx

그리고 이것은 내 꿀꺽 작업입니다 : 내가 SITEURL와의 다른 조합을 시도

gulp.task('upload', function() { 

    var catalog = paths.output + 'catalog.pdf'; 

    return gulp.src(catalog) 
     .pipe(spsave({ 
      username: '{user}', 
      password: '{pass}', 
      siteUrl: 'https://{subdomain}.{customdomain}.com/depts/indirectsales/', 
      folder: 'DST' 
     })); 
}); 

폴더와 같은 아무 소용이 :

siteUrl: 'https://{subdomain}.{customdomain}.com', 
folder: 'depts/indirectsales/DST' 

누구합니까? 문서 라이브러리 URL이 주어진 siteUrl 및 폴더에 올바른 문자열이 무엇인지 알아야합니까?

EDIT : 사내 구축 형 Sharepoint 2010 설치에 연결하는 것처럼 보입니다. spsave는 2013/2016 및 SPO에서만 작동합니다. 누구든지 REST를 사용하여 SP 2010에서 문서 라이브러리에 파일을 업로드하는 방법을 알고 있습니까?

답변

0

표준 REST 요청에 문제가있는 것은 NTLM을 사용하여 SharePoint에 인증하지 않았기 때문입니다. 노드의 모듈을 사용하여이 작업을 수행 할 수있었습니다.

httpntlm.post({ 
    url: 'http://domain.com/site/_vti_bin/copy.asmx', 
    headers: { 
     'SOAPAction': 'http://schemas.microsoft.com/sharepoint/soap/CopyIntoItems', 
     'Content-Type': 'text/xml; charset="utf-8"' 
    }, 
    username: 'user', 
    password: 'pass', 
    body: soapEnv, 
}, function(err, response) { 
    //callback 
} 
관련 문제