2016-09-28 143 views
1

我試圖從本地目錄上傳文件(PDF)到SharePoint上的文檔庫。我有一個gulp構建系統,可以監視文件夾的變化並運行管理PDF流的任務,通過gulp-spsave通過REST API將文件上傳到SharePoint使用gulp spsave

gulp-spsave很好,因爲它抽象出了一個看起來很複雜的SharePoint REST接口,其中我可以提供我的憑據,網址和上傳文件夾,剩下的工作就完成了。

但是,我一直得到404。我是新來的SharePoint,並不真正瞭解URL結構,所以我猜我沒有提供正確的信息給插件。

這是URL到文檔庫(名爲DST):

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

這是我一飲而盡任務:

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和其他組合文件夾無效,如:

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

有沒有人在給定文檔庫URL的情況下知道siteUrl和文件夾的正確字符串是什麼?

編輯:看起來我試圖連接到本地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 
} 
相關問題