前提・実現したいこと
大変初歩的な質問になるかもしれませんが、
GoogleAppScript のDrive APIを利用して、Googleドライブ内のファイルに対して
ファイル毎にユーザ個別への共有設定を追加する処理を作っております。
以下のコードの通り Permissions: insert にて通知をオフの設定で共有を追加するのですが、
「target_mail」で指定したメールアドレスのGoogleアカウントが誤入力などで存在しない場合、
GASの実行ログに以下のエラーが出力されるのみで 以降の処理が停止してしまいます。
数百件の繰り返し処理をするため、途中にエラーがあった場合は 回避して処理を継続させたいと考えているのですが、
可能かどうか、またどのようにすればよいかご教授いただけますと幸いです。
発生している問題・エラーメッセージ
エラー GoogleJsonResponseException: API call to drive.permissions.insert failed with error: Bad Request. User message: "〇〇〇@google.com" さんを招待しようとしています。このメールアドレスには Google アカウントが関連付けられていないので、この受信者を招待するには、[通知] チェックボックスをオンにする必要があります。"
該当のソースコード
Drive API
1 2var target_mail = "〇〇〇@google.com"; 3var fileId = "xxxxxxxxxxxxxxxxxxxxxxxx"; 4 5//実際は 別にあるリストを元に ファイルID、メールアドレスを変えて 繰り返し処理をする 6 7 Drive.Permissions.insert( 8 { 9 'role': 'reader', 10 'type': 'user', 11 'value': target_mail //メールアドレスで指定する 12 }, 13 fileId, //ドライブのファイルIDで対象を指定する 14 { 15 'sendNotificationEmails': 'false', //通知はオフにしたいのでfalse 16 'supportsAllDrives': 'true' //共有ドライブで利用するのでtrue 17 } 18 ); 19 20//繰り返し処理ここまで
試したこと
Drive API のファレンスを探したのですが、エラー時の処理分岐方法について情報を見つけることができませんでした。
補足情報(FW/ツールのバージョンなど)
https://developers.google.com/drive/api/v2/reference/permissions/insert
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/26 10:16