簡體   English   中英

無法使用OneDrive for Business API將內容放入/上傳到OneDrive for Business中的文件

[英]Unable To Put/Upload content to a file in OneDrive For Business using OneDrive for Business API

我正在嘗試使用OneDrive for Business REST API將內容添加/添加到OneDrive for Business中的文件中。 下面是代碼片段:

 var getFile = getFileBuffer(file);
  getFile.done(function (arrayBuffer) {
    var content = arrayBuffer;
    var query = "https://myonedrive/_api/v2.0/drive/{driveId}/items/{parentfolderId}/children/{fileName}/content";
  $.ajax({
      url: query,
      method: "PUT",
      data: arrayBuffer,   
      headers: {
      "accept": "application/json;odata=verbose",
      "content-length": arrayBuffer.byteLength
      },
      beforeSend: function (xhr) {
            xhr.setRequestHeader("Authorization", "Bearer " + bearerTokenvalue);
           },
 success: function (data) {
          return
       },
 error: function (err) {
            return;
        }
    })
  });
function getFileBuffer(file) {
    var deferred = jQuery.Deferred();
    var reader = new FileReader();
    reader.onloadend = function (e) {
        deferred.resolve(e.target.result);
    }
    reader.onerror = function (e) {
        deferred.reject(e.target.error);
    }
    reader.readAsArrayBuffer(file);
    return deferred.promise();
}

我在成功呼叫中遇到錯誤,內容沒有上傳到文件中。

錯誤信息

該錯誤是由Acceptapplication/json媒體類型的odata參數觸發的。 我相信odata.metadata參數是您真正想要的:

Accept: application/json;odata.metadata=verbose

原版的

錯誤消息肯定有點奇怪,但是我要猜​​測一下,說您的根本原因很可能與URL錯誤有關。 您提供的是driveId但您正在訪問drive單例而不是drives集合。 試試看,看看是否有幫助:

https://myonedrive/_api/v2.0/drives/{driveId}/items/{parentfolderId}/children/{fileName}/content

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM