我必须使用 Drive REST API 为单个文件夹创建多个用户权限。如果我为每个用户连续请求(多个)(因为不推荐使用 Document List API batchACL),它会为每个用户返回 permissionIds,但大多数时候只有一个用户授予了权限。这导致我的应用程序出现错误。我搬到了谷歌批量请求,我的请求 postBody 是这样生成的,
var postBody = "";
dataObj.users.forEach(function (entry) {
var batchBody = {role: entry.role, type: "user", value: entry.email };
batchBody = JSON.stringify(batchBody);
postBody = postBody.concat("--batch_", collectionId, "\n");
postBody = postBody.concat("Content-Type: application/http \n");
postBody = postBody.concat("Content-ID: ", entry.email, "\n");
postBody = postBody.concat("Content-Transfer-Encoding: binary \n");
postBody = postBody.concat("POST /drive/v2/files/", collectionId, "/permissions \n");
postBody = postBody.concat("Content-Type: application/json \n");
postBody = postBody.concat("Content-Length: ", batchBody.length, " \n");
postBody = postBody.concat(batchBody, " \n");
});
postBody = postBody.concat("--batch_", collectionId, "--");
它以 200 返回成功,响应正文是这样的,
--batch_vfFEpoYZl9Q_AAYPEVhdVNI--
--batch_vfFEpoYZl9Q_AAYPEVhdVNI--
但没有授予任何用户权限。根据 Google 文档,响应正文不应该这样。有人可以帮我找到问题或使用“google-api-nodejs-client”执行相同的批处理请求的任何指导吗?