チーム ドライブ内でのファイル作成を自動化するために、Google Apps Script と Drive API の V2 (スクリプトで V3 はまだ利用できないと思います) を使用しています。スクリプトを使用してエディターを追加したいのですが、成功しません。
FolderIterator
標準の方法でを使用して、チーム ドライブと子フォルダにアクセスできますDriveApp
。
試行 1
function addUserToTeam(email, folders) {
// Open the team drive and get all the folders
var teamFolders = DriveApp.getFolderById('TEAMDRIVEIDSTRING').getFolders();
var folders = ["folderIdToMatch"] // This may hold multiple folders
try {
// Loop an array of folder IDs
for(var i=0; i<folders.length; i++) {
// Check the team drive folders for a matching name
while(teamFolders.hasNext()) {
var teamFolder = teamFolders.next();
if(folders[i] == teamFolder.getId()) {
teamFolder.addEditor(email);
}
}
}
} catch(e) {
Logger.log(e);
}
}
これは で失敗しましException: Cannot use this operation on a Team Drive item
た。
試行 2
リソースを代入して Drive API を試しましたteamFolder.addEditor(email)
。Permissions
if(folders[i] == teamFolder.getId()) {
var resource = {
"type":"user",
"role":"writer",
"value": email
}
Drive.Permissions.insert(resource, teamFolder.getId());
}
これはFile not found
エラーで失敗します。
メソッドを使用してフォルダー (またはファイル) を見つけることができますDriveApp
。Drive API で同じことを試みても失敗します。
API ではチーム ドライブ ファイルにアクセスできないというドキュメントは見つかりません。私のアプローチに何か問題がありますか?