首页 文章

无法使用OneDrive for Business API将内容放入/上传到OneDrive For Business中的文件

提问于
浏览
0

我正在尝试使用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();
}

我在成功通话中收到以下错误,并且内容未上传到文件中 .

ErrorMessage

1 回答

  • 0

    该错误由 Acceptapplication/json 媒体类型的 odata 参数触发 . 我相信 odata.metadata 参数是你真正想要的:

    Accept: application/json;odata.metadata=verbose

    Original

    错误消息肯定有点奇怪,但我提供 driveId 但你正在访问 drive 单例而不是 drives 集合 . 试试这个,看看它是否有帮助:

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

相关问题